Lines Matching +full:0 +full:x48
12 static unsigned long invalid_offset = 0xffffffffffffff;
19 asm volatile (".byte 0xf3, 0x48, 0x0f, 0x1e, 0xc8" : "=a"(ssp)); in cet_shstk_func()
21 asm("movq %%rbp,%0" : "=r"(ret_addr)); in cet_shstk_func()
22 printf("The return-address in shadow-stack = 0x%lx, in normal stack = 0x%lx\n", in cet_shstk_func()
27 * while function is returning. The error-code is 0x1, meaning it's in cet_shstk_func()
32 *(ret_addr + 1) = 0xdeaddead; in cet_shstk_func()
34 return 0; in cet_shstk_func()
41 * endbr64, it'll trigger #CP with error code 0x3, and the execution in cet_ibt_func()
51 return 0; in cet_ibt_func()
54 #define ENABLE_SHSTK_BIT 0x1
55 #define ENABLE_IBT_BIT 0x4
60 printf("In #CP exception handler, error_code = 0x%lx\n", in handle_cp()
63 asm("jmpq *%0": :"m"(invalid_offset)); in handle_cp()
71 pteval_t pte = 0; in main()
74 cp_count = 0; in main()
94 install_pte(current_page_table(), 1, shstk_virt, pte, 0); in main()
95 memset(shstk_virt, 0x0, PAGE_SIZE); in main()
109 wrmsr(MSR_IA32_PL3_SSP, (u64)(shstk_virt + 0x1000)); in main()
115 run_in_user((usermode_func)cet_shstk_func, GP_VECTOR, 0, 0, 0, 0, &rvc); in main()
117 cp_count = 0; in main()
122 run_in_user((usermode_func)cet_ibt_func, GP_VECTOR, 0, 0, 0, 0, &rvc); in main()
126 wrmsr(MSR_IA32_U_CET, 0); in main()