summaryrefslogtreecommitdiffstats
path: root/arch/x86/entry/vdso/vdso2c.c
diff options
context:
space:
mode:
authorGabriel Krisman Bertazi <krisman@collabora.com>2020-11-27 14:32:32 -0500
committerThomas Gleixner <tglx@linutronix.de>2020-12-02 10:32:16 +0100
commitc5c878125ad5aca199dfc10b1af4010165aaa596 (patch)
treef389ef222bb9189a987d5d64bb924d5f241f792f /arch/x86/entry/vdso/vdso2c.c
parent01fe185d95ba3cdd6629859dd911a94de8800562 (diff)
downloadlinux-c5c878125ad5aca199dfc10b1af4010165aaa596.tar.gz
linux-c5c878125ad5aca199dfc10b1af4010165aaa596.tar.bz2
linux-c5c878125ad5aca199dfc10b1af4010165aaa596.zip
x86: vdso: Expose sigreturn address on vdso to the kernel
Syscall user redirection requires the signal trampoline code to not be captured, in order to support returning with a locked selector while avoiding recursion back into the signal handler. For ia-32, which has the trampoline in the vDSO, expose the entry points to the kernel, such that it can avoid dispatching syscalls from that region to userspace. Suggested-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Andy Lutomirski <luto@kernel.org> Acked-by: Andy Lutomirski <luto@kernel.org> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20201127193238.821364-2-krisman@collabora.com
Diffstat (limited to 'arch/x86/entry/vdso/vdso2c.c')
-rw-r--r--arch/x86/entry/vdso/vdso2c.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/entry/vdso/vdso2c.c b/arch/x86/entry/vdso/vdso2c.c
index 7380908045c7..2d0f3d8bcc25 100644
--- a/arch/x86/entry/vdso/vdso2c.c
+++ b/arch/x86/entry/vdso/vdso2c.c
@@ -101,6 +101,8 @@ struct vdso_sym required_syms[] = {
{"__kernel_sigreturn", true},
{"__kernel_rt_sigreturn", true},
{"int80_landing_pad", true},
+ {"vdso32_rt_sigreturn_landing_pad", true},
+ {"vdso32_sigreturn_landing_pad", true},
};
__attribute__((format(printf, 1, 2))) __attribute__((noreturn))