Tetsuo Handa
786235eeba
kthread: make kthread_create() killable
...
Any user process callers of wait_for_completion() except global init
process might be chosen by the OOM killer while waiting for completion()
call by some other process which does memory allocation. See
CVE-2012-4398 "kernel: request_module() OOM local DoS" can happen.
When such users are chosen by the OOM killer when they are waiting for
completion() in TASK_UNINTERRUPTIBLE, the system will be kept stressed
due to memory starvation because the OOM killer cannot kill such users.
kthread_create() is one of such users and this patch fixes the problem
for kthreadd by making kthread_create() killable - the same approach
used for fixing CVE-2012-4398.
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Oleg Nesterov <oleg@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-11-13 12:08:59 +09:00
..
2013-09-25 14:07:49 +02:00
2013-10-03 18:47:54 +02:00
2013-11-12 10:06:34 +09:00
2013-09-12 15:38:03 -07:00
2013-11-12 16:52:17 +09:00
2013-10-25 01:58:49 +02:00
2013-09-03 11:38:36 -07:00
2013-11-12 10:20:12 +09:00
2013-11-06 12:37:55 +01:00
2013-11-12 10:36:00 +09:00
2013-11-12 10:20:12 +09:00
2013-04-22 07:09:06 -07:00
2013-05-04 14:57:58 -04:00
2013-03-12 13:59:14 -07:00
2013-06-12 16:29:46 -07:00
2013-01-11 14:54:55 -08:00
2013-09-24 17:00:26 -07:00
2013-07-09 10:33:19 -07:00
2013-07-09 10:33:19 -07:00
2013-07-09 10:33:19 -07:00
2013-10-09 14:47:45 +02:00
2013-09-09 11:19:09 -07:00
2013-08-08 20:11:27 -04:00
2013-10-22 08:20:34 +01:00
2013-05-01 07:21:43 -07:00
2013-05-01 17:29:18 -04:00
2013-10-09 12:36:13 +02:00
2012-05-31 17:49:27 -07:00
2013-10-16 14:22:16 +02:00
2013-09-03 18:25:03 -07:00
2011-11-06 19:44:47 -08:00
2012-12-18 10:55:28 -08:00
2013-01-27 19:23:31 +01:00
2012-03-28 18:30:03 +01:00
2013-07-09 10:33:26 -07:00
2013-09-11 15:58:25 -07:00
2013-11-12 10:20:12 +09:00
2013-07-30 14:05:06 +02:00
2013-02-23 18:50:11 -08:00
2013-06-25 23:11:19 +02:00
2013-08-30 23:44:11 -07:00
2013-07-14 19:36:59 -04:00
2013-08-02 11:02:42 +02:00
2013-02-05 00:48:46 +01:00
2012-04-10 11:00:30 +02:00
2013-08-09 07:53:54 -07:00
2013-04-15 15:17:26 +09:30
2012-12-20 17:40:19 -08:00
2013-05-28 08:50:00 +02:00
2012-03-23 13:18:57 +01:00
2013-09-11 15:59:10 -07:00
2013-09-30 14:31:02 -07:00
2013-09-11 15:58:52 -07:00
2013-09-12 15:38:03 -07:00
2013-11-13 12:08:59 +09:00
2011-10-31 09:20:12 -04:00
2013-07-12 13:51:19 +02:00
2012-10-24 12:39:09 +02:00
2013-09-25 06:45:06 -07:00
2013-11-12 10:20:12 +09:00
2013-03-15 15:09:43 +10:30
2013-09-11 15:58:21 -07:00
2012-12-05 11:27:24 +10:30
2012-10-19 17:30:40 -07:00
2013-09-05 08:50:26 -07:00
2011-10-31 09:20:12 -04:00
2013-10-18 21:58:54 +02:00
2011-10-31 09:20:12 -04:00
2013-09-07 14:35:32 -07:00
2013-08-29 14:37:59 +10:00
2013-09-11 15:59:30 -07:00
2013-09-28 12:35:52 -07:00
2013-09-07 14:35:32 -07:00
2013-09-30 14:31:03 -07:00
2013-07-03 16:54:42 +02:00
2013-04-18 12:51:19 +02:00
2013-07-14 19:36:59 -04:00
2013-09-11 15:59:01 -07:00
2013-06-18 11:32:10 -05:00
2013-09-24 17:00:26 -07:00
2013-07-14 19:36:59 -04:00
2013-09-12 15:38:02 -07:00
2013-07-03 16:08:06 -07:00
2013-02-07 20:51:08 +01:00
2013-04-10 14:48:37 +02:00
2013-05-28 09:23:52 +02:00
2013-03-23 15:53:52 -07:00
2013-03-26 11:07:19 +11:00
2013-04-30 17:04:08 -07:00
2013-09-11 15:58:18 -07:00
2013-10-01 10:52:30 +02:00
2013-07-14 19:36:59 -04:00
2012-08-13 17:01:07 +02:00
2013-11-12 10:20:12 +09:00
2013-09-11 15:58:21 -07:00
2011-10-31 09:20:12 -04:00
2013-11-11 12:43:38 +01:00
2013-05-09 13:46:38 -04:00
2013-08-30 23:44:11 -07:00
2013-06-26 18:01:46 +09:00
2013-11-12 10:20:12 +09:00
2013-09-11 15:58:27 -07:00
2012-10-06 03:05:31 +09:00
2013-04-29 18:28:42 -07:00
2013-06-19 12:58:42 +02:00
2013-02-16 23:17:25 +01:00
2013-09-25 14:07:32 +02:00
2013-04-29 13:55:38 -07:00
2013-01-27 19:23:31 +01:00
2013-08-30 23:44:11 -07:00
2013-09-11 15:58:25 -07:00
2013-09-07 14:35:32 -07:00
2013-02-27 19:10:24 -08:00
2013-08-26 19:17:03 -07:00
2013-02-27 19:10:22 -08:00
2013-08-30 23:44:11 -07:00
2013-09-24 17:00:25 -07:00
2013-06-19 12:58:42 +02:00
2013-09-06 09:36:28 -07:00