diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-09-20 21:48:57 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-22 09:33:50 -0700 |
commit | 9a81c16b527528ad307843be5571111aa8d35a80 (patch) | |
tree | 4fea21edefa32d8e8e997f3db63f9cefaddff28c /arch/powerpc/kernel/tau_6xx.c | |
parent | b68e9d4581cbb211be3e174d3445b4917aacbcf6 (diff) | |
download | op-kernel-dev-9a81c16b527528ad307843be5571111aa8d35a80.zip op-kernel-dev-9a81c16b527528ad307843be5571111aa8d35a80.tar.gz |
powerpc: fix double syscall restarts
Make sigreturn zero regs->trap, make do_signal() do the same on all
paths. As it is, signal interrupting e.g. read() from fd 512 (==
ERESTARTSYS) with another signal getting unblocked when the first
handler finishes will lead to restart one insn earlier than it ought
to. Same for multiple signals with in-kernel handlers interrupting
that sucker at the same time. Same for multiple signals of any kind
interrupting that sucker on 64bit...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/powerpc/kernel/tau_6xx.c')
0 files changed, 0 insertions, 0 deletions