fixups for signal breakage
Obvious brainos spotted by Geert. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -300,7 +300,7 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, struct thread_info *ti)
|
|||||||
if ((sysreg_read(SR) & MODE_MASK) == MODE_SUPERVISOR)
|
if ((sysreg_read(SR) & MODE_MASK) == MODE_SUPERVISOR)
|
||||||
syscall = 1;
|
syscall = 1;
|
||||||
|
|
||||||
if (ti->flags & _TIF_SIGPENDING))
|
if (ti->flags & _TIF_SIGPENDING)
|
||||||
do_signal(regs, syscall);
|
do_signal(regs, syscall);
|
||||||
|
|
||||||
if (ti->flags & _TIF_NOTIFY_RESUME) {
|
if (ti->flags & _TIF_NOTIFY_RESUME) {
|
||||||
|
@@ -31,5 +31,5 @@ asmlinkage long sys_pselect6(int n, fd_set __user *inp, fd_set __user *outp,
|
|||||||
asmlinkage long sys_ppoll(struct pollfd __user *ufds, unsigned int nfds,
|
asmlinkage long sys_ppoll(struct pollfd __user *ufds, unsigned int nfds,
|
||||||
struct timespec __user *tsp, const sigset_t __user *sigmask,
|
struct timespec __user *tsp, const sigset_t __user *sigmask,
|
||||||
size_t sigsetsize);
|
size_t sigsetsize);
|
||||||
|
asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset,
|
||||||
|
size_t sigsetsize);
|
||||||
|
@@ -493,7 +493,7 @@ static void do_signal(struct pt_regs *regs)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
signal_delivered(signr, info, ka, regs, 0);
|
signal_delivered(signr, &info, &ka, regs, 0);
|
||||||
if (current->ptrace & PT_SINGLESTEP)
|
if (current->ptrace & PT_SINGLESTEP)
|
||||||
task_pt_regs(current)->icountlevel = 1;
|
task_pt_regs(current)->icountlevel = 1;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user