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

powerpc: Use sigsp()

Use sigsp() instead of the open coded variant.

Signed-off-by: Richard Weinberger <richard@nod.at>

authored by

Richard Weinberger and committed by
Richard Weinberger
059ade65 8e2beafa

+5 -11
+2 -8
arch/powerpc/kernel/signal.c
··· 31 31 /* 32 32 * Allocate space for the signal frame 33 33 */ 34 - void __user * get_sigframe(struct k_sigaction *ka, unsigned long sp, 34 + void __user *get_sigframe(struct ksignal *ksig, unsigned long sp, 35 35 size_t frame_size, int is_32) 36 36 { 37 37 unsigned long oldsp, newsp; 38 38 39 39 /* Default to using normal stack */ 40 40 oldsp = get_clean_sp(sp, is_32); 41 - 42 - /* Check for alt stack */ 43 - if ((ka->sa.sa_flags & SA_ONSTACK) && 44 - current->sas_ss_size && !on_sig_stack(oldsp)) 45 - oldsp = (current->sas_ss_sp + current->sas_ss_size); 46 - 47 - /* Get aligned frame */ 41 + oldsp = sigsp(oldsp, ksig); 48 42 newsp = (oldsp - frame_size) & ~0xFUL; 49 43 50 44 /* Check access */
+2 -2
arch/powerpc/kernel/signal_32.c
··· 994 994 995 995 /* Set up Signal Frame */ 996 996 /* Put a Real Time Context onto stack */ 997 - rt_sf = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*rt_sf), 1); 997 + rt_sf = get_sigframe(ksig, get_tm_stackpointer(regs), sizeof(*rt_sf), 1); 998 998 addr = rt_sf; 999 999 if (unlikely(rt_sf == NULL)) 1000 1000 goto badframe; ··· 1417 1417 unsigned long tramp; 1418 1418 1419 1419 /* Set up Signal Frame */ 1420 - frame = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*frame), 1); 1420 + frame = get_sigframe(ksig, get_tm_stackpointer(regs), sizeof(*frame), 1); 1421 1421 if (unlikely(frame == NULL)) 1422 1422 goto badframe; 1423 1423 sc = (struct sigcontext __user *) &frame->sctx;
+1 -1
arch/powerpc/kernel/signal_64.c
··· 714 714 unsigned long newsp = 0; 715 715 long err = 0; 716 716 717 - frame = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*frame), 0); 717 + frame = get_sigframe(ksig, get_tm_stackpointer(regs), sizeof(*frame), 0); 718 718 if (unlikely(frame == NULL)) 719 719 goto badframe; 720 720