Roland McGrath
9aea5a65aa
execve: make responsive to SIGKILL with large arguments
...
An execve with a very large total of argument/environment strings
can take a really long time in the execve system call. It runs
uninterruptibly to count and copy all the strings. This change
makes it abort the exec quickly if sent a SIGKILL.
Note that this is the conservative change, to interrupt only for
SIGKILL, by using fatal_signal_pending(). It would be perfectly
correct semantics to let any signal interrupt the string-copying in
execve, i.e. use signal_pending() instead of fatal_signal_pending().
We'll save that change for later, since it could have user-visible
consequences, such as having a timer set too quickly make it so that
an execve can never complete, though it always happened to work before.
Signed-off-by: Roland McGrath <roland@redhat.com >
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2010-09-10 08:10:26 -07:00
..
2010-08-30 10:35:28 -05:00
2010-08-09 16:47:39 -04:00
2010-08-09 16:48:51 -04:00
2010-08-13 10:37:30 -07:00
2010-08-09 00:13:34 +02:00
2010-08-11 08:59:06 -07:00
2010-08-09 16:48:53 -04:00
2010-08-10 15:22:42 -07:00
2010-08-12 09:51:35 -07:00
2010-08-26 09:26:50 -07:00
2010-08-26 16:53:27 +00:00
2010-08-10 15:22:42 -07:00
2010-08-18 01:01:33 -04:00
2010-08-05 14:23:45 -05:00
2010-08-27 10:50:53 -05:00
2010-08-11 09:19:43 -07:00
2010-08-09 16:48:45 -04:00
2010-08-10 11:26:52 -07:00
2010-08-10 11:26:52 -07:00
2010-08-18 01:09:01 -04:00
2010-08-10 11:26:52 -07:00
2010-08-12 09:51:35 -07:00
2010-09-07 13:42:41 +02:00
2010-08-10 15:22:42 -07:00
2010-08-09 16:48:37 -04:00
2010-08-09 16:48:37 -04:00
2010-08-18 06:21:10 -04:00
2010-08-09 16:48:17 -04:00
2010-08-09 16:48:16 -04:00
2010-08-09 16:47:49 -04:00
2010-08-11 00:29:47 -04:00
2010-08-18 01:09:01 -04:00
2010-08-18 01:09:01 -04:00
2010-08-10 11:49:21 -07:00
2010-08-10 15:33:09 -07:00
2010-08-14 00:24:24 +02:00
2010-09-09 18:57:25 -07:00
2010-08-10 13:58:28 -07:00
2010-08-18 15:45:23 -07:00
2010-09-07 19:21:02 -07:00
2010-08-30 10:18:03 +09:00
2010-08-27 21:42:11 -04:00
2010-08-09 16:48:37 -04:00
2010-09-08 14:26:00 +08:00
2010-08-10 11:47:36 -07:00
2010-08-13 10:06:55 +02:00
2010-09-09 18:57:23 -07:00
2010-08-09 16:47:31 -04:00
2010-08-10 11:26:52 -07:00
2010-08-09 16:47:39 -04:00
2010-08-18 01:09:01 -04:00
2010-08-09 16:48:00 -04:00
2010-08-08 22:29:33 +00:00
2010-09-03 17:26:28 -07:00
2010-08-11 08:59:23 -07:00
2010-08-10 11:26:52 -07:00
2010-08-10 11:26:52 -07:00
2010-08-18 01:09:01 -04:00
2010-09-03 09:02:32 -05:00
2010-08-05 13:21:23 -07:00
2010-08-09 16:47:39 -04:00
2010-08-14 00:24:24 +02:00
2010-09-09 18:57:24 -07:00
2010-08-17 18:07:43 -07:00
2010-08-23 13:36:59 +02:00
2010-08-07 18:20:39 +02:00
2010-08-11 08:59:18 -07:00
2010-08-18 01:09:01 -04:00
2010-08-06 09:17:02 -07:00
2010-08-14 00:24:24 +02:00
2010-08-13 16:53:13 -07:00
2010-08-18 08:35:48 -04:00
2010-09-09 18:57:22 -07:00
2010-08-09 16:47:44 -04:00
2010-09-10 08:10:26 -07:00
2010-09-09 18:57:25 -07:00
2010-08-18 08:35:48 -04:00
2010-08-11 08:59:02 -07:00
2010-08-18 08:35:46 -04:00
2010-08-28 08:52:10 +02:00
2010-08-18 01:04:22 -04:00
2010-08-10 11:39:13 -07:00
2010-08-18 08:35:48 -04:00
2010-08-14 00:24:24 +02:00
2010-08-09 16:47:39 -04:00
2010-08-18 06:24:41 -04:00
2010-08-18 08:35:48 -04:00
2010-09-07 13:46:20 -07:00
2010-08-18 08:35:47 -04:00
2010-08-18 08:35:48 -04:00
2010-07-28 09:58:32 -04:00
2010-08-09 20:45:05 -07:00
2010-08-11 08:59:20 -07:00
2010-08-07 18:52:56 +02:00
2010-08-13 16:53:13 -07:00
2010-08-09 16:48:44 -04:00
2010-08-18 08:35:48 -04:00
2010-08-09 16:47:43 -04:00
2010-08-13 16:53:13 -07:00