Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 059ade65 authored by Richard Weinberger's avatar Richard Weinberger Committed by Richard Weinberger
Browse files

powerpc: Use sigsp()



Use sigsp() instead of the open coded variant.

Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 8e2beafa
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -31,20 +31,14 @@ int show_unhandled_signals = 1;
/*
 * Allocate space for the signal frame
 */
void __user * get_sigframe(struct k_sigaction *ka, unsigned long sp,
void __user *get_sigframe(struct ksignal *ksig, unsigned long sp,
			   size_t frame_size, int is_32)
{
        unsigned long oldsp, newsp;

        /* Default to using normal stack */
        oldsp = get_clean_sp(sp, is_32);

	/* Check for alt stack */
	if ((ka->sa.sa_flags & SA_ONSTACK) &&
	    current->sas_ss_size && !on_sig_stack(oldsp))
		oldsp = (current->sas_ss_sp + current->sas_ss_size);

	/* Get aligned frame */
	oldsp = sigsp(oldsp, ksig);
	newsp = (oldsp - frame_size) & ~0xFUL;

	/* Check access */
+2 −2
Original line number Diff line number Diff line
@@ -994,7 +994,7 @@ int handle_rt_signal32(struct ksignal *ksig, sigset_t *oldset,

	/* Set up Signal Frame */
	/* Put a Real Time Context onto stack */
	rt_sf = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*rt_sf), 1);
	rt_sf = get_sigframe(ksig, get_tm_stackpointer(regs), sizeof(*rt_sf), 1);
	addr = rt_sf;
	if (unlikely(rt_sf == NULL))
		goto badframe;
@@ -1417,7 +1417,7 @@ int handle_signal32(struct ksignal *ksig, sigset_t *oldset, struct pt_regs *regs
	unsigned long tramp;

	/* Set up Signal Frame */
	frame = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*frame), 1);
	frame = get_sigframe(ksig, get_tm_stackpointer(regs), sizeof(*frame), 1);
	if (unlikely(frame == NULL))
		goto badframe;
	sc = (struct sigcontext __user *) &frame->sctx;
+1 −1
Original line number Diff line number Diff line
@@ -714,7 +714,7 @@ int handle_rt_signal64(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs
	unsigned long newsp = 0;
	long err = 0;

	frame = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*frame), 0);
	frame = get_sigframe(ksig, get_tm_stackpointer(regs), sizeof(*frame), 0);
	if (unlikely(frame == NULL))
		goto badframe;