mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
powerpc/signal32: Simplify logging in sigreturn()
Same spirit as commit debf122c77
("powerpc/signal32: Simplify logging
in handle_rt_signal32()"), remove this intermediate 'addr' local var.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/638fa99530beb29f82f94370057d110e91272acc.1616151715.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
887f3ceb51
commit
c7393a71eb
@ -1352,7 +1352,6 @@ SYSCALL_DEFINE0(sigreturn)
|
||||
struct sigcontext __user *sc;
|
||||
struct sigcontext sigctx;
|
||||
struct mcontext __user *sr;
|
||||
void __user *addr;
|
||||
sigset_t set;
|
||||
struct mcontext __user *mcp;
|
||||
struct mcontext __user *tm_mcp = NULL;
|
||||
@ -1363,7 +1362,6 @@ SYSCALL_DEFINE0(sigreturn)
|
||||
|
||||
sf = (struct sigframe __user *)(regs->gpr[1] + __SIGNAL_FRAMESIZE);
|
||||
sc = &sf->sctx;
|
||||
addr = sc;
|
||||
if (copy_from_user(&sigctx, sc, sizeof(sigctx)))
|
||||
goto badframe;
|
||||
|
||||
@ -1392,16 +1390,19 @@ SYSCALL_DEFINE0(sigreturn)
|
||||
goto badframe;
|
||||
} else {
|
||||
sr = (struct mcontext __user *)from_user_ptr(sigctx.regs);
|
||||
addr = sr;
|
||||
if (restore_user_regs(regs, sr, 1))
|
||||
goto badframe;
|
||||
if (restore_user_regs(regs, sr, 1)) {
|
||||
signal_fault(current, regs, "sys_sigreturn", sr);
|
||||
|
||||
force_sig(SIGSEGV);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
set_thread_flag(TIF_RESTOREALL);
|
||||
return 0;
|
||||
|
||||
badframe:
|
||||
signal_fault(current, regs, "sys_sigreturn", addr);
|
||||
signal_fault(current, regs, "sys_sigreturn", sc);
|
||||
|
||||
force_sig(SIGSEGV);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user