/linux/arch/x86/kernel/ |
H A D | signal_32.c | 235 void __user *restorer; in ia32_setup_frame() local 252 restorer = ksig->ka.sa.sa_restorer; in ia32_setup_frame() 256 restorer = current->mm->context.vdso + in ia32_setup_frame() 259 restorer = &frame->retcode; in ia32_setup_frame() 268 unsafe_put_user(ptr_to_compat(restorer), &frame->pretcode, Efault); in ia32_setup_frame() 306 void __user *restorer; in ia32_setup_rt_frame() local 340 restorer = ksig->ka.sa.sa_restorer; in ia32_setup_rt_frame() 342 restorer = current->mm->context.vdso + in ia32_setup_rt_frame() 344 unsafe_put_user(ptr_to_compat(restorer), &frame->pretcode, Efault); in ia32_setup_rt_frame()
|
H A D | shstk.c | 349 void __user *restorer = ksig->ka.sa.sa_restorer; in setup_signal_shadow_stack() local 357 if (!restorer) in setup_signal_shadow_stack() 370 err = write_user_shstk_64((u64 __user *)ssp, (u64)restorer); in setup_signal_shadow_stack()
|
H A D | signal_64.c | 308 void __user *restorer; in x32_setup_rt_frame() local 329 restorer = ksig->ka.sa.sa_restorer; in x32_setup_rt_frame() 330 unsafe_put_user(restorer, (unsigned long __user *)&frame->pretcode, Efault); in x32_setup_rt_frame()
|
/linux/arch/s390/kernel/ |
H A D | compat_signal.c | 256 unsigned long restorer; in setup_frame32() local 301 restorer = (unsigned long __force) in setup_frame32() 304 restorer = VDSO32_SYMBOL(current, sigreturn); in setup_frame32() 308 regs->gprs[14] = restorer; in setup_frame32() 336 unsigned long restorer; in setup_rt_frame32() local 365 restorer = (unsigned long __force) in setup_rt_frame32() 368 restorer = VDSO32_SYMBOL(current, rt_sigreturn); in setup_rt_frame32() 388 regs->gprs[14] = restorer; in setup_rt_frame32()
|
H A D | signal.c | 290 unsigned long restorer; in setup_frame() local 334 restorer = (unsigned long) ka->sa.sa_restorer; in setup_frame() 336 restorer = VDSO64_SYMBOL(current, sigreturn); in setup_frame() 339 regs->gprs[14] = restorer; in setup_frame() 366 unsigned long uc_flags, restorer; in setup_rt_frame() local 392 restorer = (unsigned long) ksig->ka.sa.sa_restorer; in setup_rt_frame() 394 restorer = VDSO64_SYMBOL(current, rt_sigreturn); in setup_rt_frame() 413 regs->gprs[14] = restorer; in setup_rt_frame()
|
/linux/tools/testing/selftests/x86/ |
H A D | vdso_restorer.c | 29 void *restorer; member 63 sa.restorer = NULL; /* request kernel-provided restorer */ in main()
|
/linux/arch/sparc/kernel/ |
H A D | sys_sparc_32.c | 171 void __user *, restorer, in SYSCALL_DEFINE5() argument 182 new_ka.ka_restorer = restorer; in SYSCALL_DEFINE5()
|
H A D | sys_sparc32.c | 151 void __user *,restorer, in COMPAT_SYSCALL_DEFINE5() argument 164 new_ka.ka_restorer = restorer; in COMPAT_SYSCALL_DEFINE5()
|
H A D | sys_sparc_64.c | 676 struct sigaction __user *, oact, void __user *, restorer, in SYSCALL_DEFINE5() argument 687 new_ka.ka_restorer = restorer; in SYSCALL_DEFINE5()
|
/linux/Documentation/arch/x86/ |
H A D | shstk.rst | 139 restorer address to the shadow stack to help userspace avoid a shadow stack 140 violation on the sigreturn path that goes through the restorer.
|
/linux/arch/alpha/kernel/ |
H A D | signal.c | 92 size_t, sigsetsize, void __user *, restorer) in SYSCALL_DEFINE5() argument 102 new_ka.ka_restorer = restorer; in SYSCALL_DEFINE5()
|
/linux/kernel/ |
H A D | signal.c | 4525 compat_uptr_t restorer; in COMPAT_SYSCALL_DEFINE4() local 4538 ret |= get_user(restorer, &act->sa_restorer); in COMPAT_SYSCALL_DEFINE4() 4539 new_ka.sa.sa_restorer = compat_ptr(restorer); in COMPAT_SYSCALL_DEFINE4() 4608 compat_uptr_t handler, restorer; in COMPAT_SYSCALL_DEFINE3() local 4613 __get_user(restorer, &act->sa_restorer) || in COMPAT_SYSCALL_DEFINE3() 4622 new_ka.sa.sa_restorer = compat_ptr(restorer); in COMPAT_SYSCALL_DEFINE3()
|