Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cris: switch to generic sigaltstack

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro d970e428 0aa0203f

+3 -14
+1
arch/cris/Kconfig
··· 50 50 select GENERIC_CMOS_UPDATE 51 51 select MODULES_USE_ELF_RELA 52 52 select CLONE_BACKWARDS2 53 + select GENERIC_SIGALTSTACK 53 54 54 55 config HZ 55 56 int
+1 -7
arch/cris/arch-v10/kernel/signal.c
··· 84 84 return ret; 85 85 } 86 86 87 - int sys_sigaltstack(const stack_t *uss, stack_t __user *uoss) 88 - { 89 - return do_sigaltstack(uss, uoss, rdusp()); 90 - } 91 - 92 - 93 87 /* 94 88 * Do a signal return; undo the signal stack. 95 89 */ ··· 208 214 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) 209 215 goto badframe; 210 216 211 - if (do_sigaltstack(&frame->uc.uc_stack, NULL, rdusp()) == -EFAULT) 217 + if (restore_altstack(&frame->uc.uc_stack)) 212 218 goto badframe; 213 219 214 220 return regs->r10;
+1 -7
arch/cris/arch-v32/kernel/signal.c
··· 99 99 return retval; 100 100 } 101 101 102 - int 103 - sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss) 104 - { 105 - return do_sigaltstack(uss, uoss, rdusp()); 106 - } 107 - 108 102 static int 109 103 restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) 110 104 { ··· 203 209 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) 204 210 goto badframe; 205 211 206 - if (do_sigaltstack(&frame->uc.uc_stack, NULL, rdusp()) == -EFAULT) 212 + if (restore_altstack(&frame->uc.uc_stack)) 207 213 goto badframe; 208 214 209 215 keep_debug_flags(oldccs, oldspc, regs);