summaryrefslogtreecommitdiffstats
path: root/arch/sparc/prom/init.c
diff options
context:
space:
mode:
authorDavid S. Miller2008-05-01 12:30:22 +0200
committerDavid S. Miller2008-05-02 14:22:52 +0200
commit2678fefedbbc03a3ae6f5c254791bf147d6c52fd (patch)
tree23052dffe4591f06192b8ee9cd17a1160fe4520f /arch/sparc/prom/init.c
parentserial: Fix sparc driver name strings. (diff)
downloadkernel-qcow2-linux-2678fefedbbc03a3ae6f5c254791bf147d6c52fd.tar.gz
kernel-qcow2-linux-2678fefedbbc03a3ae6f5c254791bf147d6c52fd.tar.xz
kernel-qcow2-linux-2678fefedbbc03a3ae6f5c254791bf147d6c52fd.zip
sparc64: Fix syscall restart, for real...
The change I put into copy_thread() just papered over the real problem. When we are looking to see if we should do a syscall restart, when deliverying a signal, we should only interpret the syscall return value as an error if the carry condition code(s) are set. Otherwise it's a success return. Also, sigreturn paths should do a pt_regs_clear_trap_type(). It turns out that doing a syscall restart when returning from a fork() does and should happen, from time to time. Even if copy_thread() returns success, copy_process() can still unwind and signal -ERESTARTNOINTR in the parent. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/prom/init.c')
0 files changed, 0 insertions, 0 deletions