Lines Matching full:ssp
135 unsigned long ssp; in try_shstk() local
140 ssp = get_ssp(); in try_shstk()
141 printf("[INFO]\tchanging ssp from %lx to %lx\n", ssp, new_ssp); in try_shstk()
148 ssp -= 8; in try_shstk()
149 asm volatile("rstorssp (%0)\n":: "r" (ssp)); in try_shstk()
878 /* The SSP adjustment caused a segfault. */ in segv_handler_ptrace()
884 unsigned long saved_ssp, ssp = 0; in test_ptrace() local
890 iov.iov_base = &ssp; in test_ptrace()
891 iov.iov_len = sizeof(ssp); in test_ptrace()
895 ssp = get_ssp(); in test_ptrace()
904 * The parent will tweak the SSP and return from this function in test_ptrace()
919 if (!ssp) { in test_ptrace()
920 printf("[INFO]\tPtrace child SSP was 0\n"); in test_ptrace()
924 saved_ssp = ssp; in test_ptrace()
932 iov.iov_len = sizeof(ssp) + 1; in test_ptrace()
938 ssp += 1; in test_ptrace()
940 printf("[INFO]\tUnaligned SSP written via PTRACE_SETREGS\n"); in test_ptrace()
944 ssp = 0xFFFFFFFFFFFF0000; in test_ptrace()
946 printf("[INFO]\tKernel range SSP written via PTRACE_SETREGS\n"); in test_ptrace()
951 * Tweak the SSP so the child with #CP when it resumes and returns in test_ptrace()
954 ssp = saved_ssp + 8; in test_ptrace()
955 iov.iov_len = sizeof(ssp); in test_ptrace()