Message ID | 1457882222-22599-16-git-send-email-nix@esperi.org.uk |
---|---|
State | New |
Headers | show |
On 03/13/2016 04:17 PM, Nix wrote:
> This is called from the kernel and must not have a canary.
Similar to my comment on sigjmp.c, I don't see why this follows. Would
you please elaborate?
Thanks,
Florian
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c index 5aa3c35..b75142f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c @@ -65,7 +65,9 @@ libc_hidden_def (__libc_sigaction) #include <nptl/sigaction.c> -static void +static +inhibit_stack_protector +void __rt_sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" @@ -74,7 +76,9 @@ __rt_sigreturn_stub (void) : "i" (__NR_rt_sigreturn)); } -static void +static +inhibit_stack_protector +void __sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c index 50c444c..058c011 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c @@ -66,7 +66,9 @@ libc_hidden_def (__libc_sigaction) #include <nptl/sigaction.c> -static void +static +inhibit_stack_protector +void __rt_sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t"
From: Nick Alcock <nick.alcock@oracle.com> This is called from the kernel and must not have a canary. v2: New. v3: Use $(no-stack-protector). v4: Use inhibit_stack_protector. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: (__rt_sigreturn_stub): Use inhibit_stack_protector. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__rt_sigreturn_stub): Likewise. (__sigreturn_stub): Likewise. --- sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c | 8 ++++++-- sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-)