File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -553,6 +553,8 @@ reg_t mmu_t::walk(mem_access_info_t access_info)
553
553
// not shadow stack access xwr=110 or xwr=010 page cause page fault
554
554
// shadow stack access with PTE_X moved to following check
555
555
break ;
556
+ } else if ((ppn & ((reg_t (1 ) << ptshift) - 1 )) != 0 ) {
557
+ break ;
556
558
} else if (ss_page && ((type == STORE && !ss_access) || access_info.flags .clean_inval )) {
557
559
// non-shadow-stack store or CBO with xwr = 010 causes access-fault
558
560
throw trap_store_access_fault (virt, addr, 0 , 0 );
@@ -566,8 +568,6 @@ reg_t mmu_t::walk(mem_access_info_t access_info)
566
568
type == LOAD ? !(sse && ss_page) && !(pte & PTE_R) && !(mxr && (pte & PTE_X)) :
567
569
!(pte & PTE_W)) {
568
570
break ;
569
- } else if ((ppn & ((reg_t (1 ) << ptshift) - 1 )) != 0 ) {
570
- break ;
571
571
} else {
572
572
reg_t ad = PTE_A | ((type == STORE) * PTE_D);
573
573
You can’t perform that action at this time.
0 commit comments