David S. Miller
2678fefedb
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 >
2008-05-02 05:22:52 -07:00
..
2005-09-09 22:47:53 +02:00
2008-04-26 21:41:19 -07:00
2007-10-13 21:53:12 -07:00
2007-10-27 00:13:04 -07:00
2008-04-28 00:47:20 -07:00
2007-12-07 01:10:14 -08:00
2007-05-11 05:38:25 -04:00
2008-03-25 21:51:40 -07:00
2008-03-23 22:48:29 -07:00
2006-03-20 01:13:34 -08:00
2005-10-12 12:22:46 -07:00
2008-04-23 23:32:16 -07:00
2008-04-24 03:15:22 -07:00
2008-04-23 23:32:20 -07:00
2008-04-28 00:47:20 -07:00
2008-04-28 00:47:20 -07:00
2008-04-28 00:47:20 -07:00
2008-04-28 00:47:20 -07:00
2007-05-29 02:49:29 -07:00
2008-04-28 00:47:20 -07:00
2008-02-20 22:22:16 -08:00
2007-07-29 17:09:29 -07:00
2008-03-28 15:56:01 -07:00
2008-04-23 23:32:16 -07:00
2008-04-26 21:41:15 -07:00
2007-05-29 02:50:15 -07:00
2008-04-28 00:47:20 -07:00
2008-04-29 02:38:50 -07:00
2008-02-19 20:48:58 -08:00
2008-01-12 21:52:16 -08:00
2007-12-05 05:37:55 -08:00
2008-04-29 02:38:50 -07:00
2008-04-23 23:32:12 -07:00
2008-04-29 02:38:50 -07:00
2007-11-06 21:23:11 -08:00
2008-04-26 21:41:20 -07:00
2008-05-02 05:22:50 -07:00
2008-04-23 23:32:16 -07:00
2008-05-02 05:22:50 -07:00
2008-04-23 23:32:16 -07:00
2008-04-23 23:32:16 -07:00
2008-04-23 23:32:16 -07:00
2008-04-23 23:32:16 -07:00
2007-02-10 23:50:37 -08:00
2008-04-23 23:32:16 -07:00
2007-02-10 23:50:37 -08:00
2008-05-02 05:22:50 -07:00
2008-02-19 20:39:18 -08:00
2008-05-02 05:22:52 -07:00
2008-04-23 23:32:11 -07:00
2008-04-09 19:39:25 -07:00
2008-04-24 03:15:22 -07:00
2008-04-23 23:32:16 -07:00
2008-04-23 23:32:20 -07:00
2008-05-02 05:22:52 -07:00
2008-05-02 05:22:52 -07:00
2008-04-29 03:19:38 -07:00
2008-04-26 21:41:23 -07:00
2008-04-28 00:47:20 -07:00
2007-05-29 02:49:29 -07:00
2008-04-24 03:28:52 -07:00
2006-06-29 16:37:08 -07:00
2007-10-13 21:53:16 -07:00
2008-04-24 03:15:22 -07:00
2007-04-13 13:27:08 -07:00
2008-04-27 02:26:36 -07:00
2008-04-25 02:12:05 -07:00
2008-04-28 00:47:20 -07:00
2008-04-23 23:32:17 -07:00
2008-04-21 15:10:15 -07:00
2008-04-21 15:10:15 -07:00
2008-03-26 01:11:55 -07:00
2008-03-21 17:01:38 -07:00
2008-04-24 03:28:52 -07:00
2008-04-24 03:15:22 -07:00
2008-04-29 02:38:50 -07:00
2006-03-04 23:23:56 -08:00
2008-02-17 23:24:10 -08:00
2007-10-04 18:40:57 -04:00
2006-03-20 01:14:19 -08:00
2008-04-28 00:47:20 -07:00
2008-01-21 22:34:30 -08:00
2007-07-26 11:11:56 -07:00
2006-12-10 02:39:32 -08:00
2008-01-28 23:21:17 +01:00
2008-04-24 03:15:22 -07:00