fixups for signal breakage
Obvious brainos spotted by Geert. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
9171c670b4
Коммит
03240b279d
|
@ -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;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче