Linus Torvalds
6345d24daf
mm: Fix boot crash in mm_alloc()
...
Thomas Gleixner reports that we now have a boot crash triggered by
CONFIG_CPUMASK_OFFSTACK=y:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<c11ae035>] find_next_bit+0x55/0xb0
Call Trace:
[<c11addda>] cpumask_any_but+0x2a/0x70
[<c102396b>] flush_tlb_mm+0x2b/0x80
[<c1022705>] pud_populate+0x35/0x50
[<c10227ba>] pgd_alloc+0x9a/0xf0
[<c103a3fc>] mm_init+0xec/0x120
[<c103a7a3>] mm_alloc+0x53/0xd0
which was introduced by commit de03c72cfce5 ("mm: convert
mm->cpu_vm_cpumask into cpumask_var_t"), and is due to wrong ordering of
mm_init() vs mm_init_cpumask
Thomas wrote a patch to just fix the ordering of initialization, but I
hate the new double allocation in the fork path, so I ended up instead
doing some more radical surgery to clean it all up.
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Ingo Molnar <mingo@elte.hu>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-05-29 11:32:28 -07:00
..
2011-03-31 11:26:23 -03:00
2011-05-28 17:04:59 +02:00
2011-03-20 18:14:55 -07:00
2011-05-26 13:15:28 +02:00
2011-05-24 23:36:06 +02:00
2011-05-23 13:59:54 +02:00
2011-05-25 22:13:49 -04:00
2010-08-09 16:48:42 -04:00
2010-07-14 11:29:46 +02:00
2011-03-31 11:26:23 -03:00
2011-03-14 09:15:23 -04:00
2011-03-03 10:55:40 -08:00
2010-10-30 01:42:19 -04:00
2011-03-03 10:55:40 -08:00
2011-04-27 15:11:03 +02:00
2011-03-23 19:46:28 -07:00
2011-05-19 18:51:57 +10:00
2011-05-26 17:12:34 -07:00
2011-05-26 17:12:34 -07:00
2011-05-25 15:35:32 -07:00
2010-10-15 15:53:27 +02:00
2011-03-31 11:26:23 -03:00
2011-05-28 17:02:57 +02:00
2011-03-23 19:47:19 -07:00
2011-05-27 10:25:02 -07:00
2009-09-18 09:48:52 -07:00
2010-03-06 11:26:46 -08:00
2010-08-09 20:45:05 -07:00
2011-05-20 13:33:21 -07:00
2011-05-20 08:56:56 +02:00
2011-05-29 11:32:28 -07:00
2011-05-17 23:19:17 +02:00
2011-03-23 19:47:08 -07:00
2011-04-15 16:34:32 +02:00
2011-03-23 19:47:08 -07:00
2011-05-25 15:31:58 -07:00
2011-04-28 09:13:17 +02:00
2010-12-18 15:54:48 +01:00
2009-11-18 16:32:12 +01:00
2011-05-25 19:56:36 -04:00
2011-03-25 17:52:22 -07:00
2011-04-10 17:01:05 +02:00
2011-05-11 21:37:15 +02:00
2010-10-01 10:50:58 -07:00
2011-05-24 22:55:24 +10:00
2011-01-07 17:02:58 -08:00
2011-04-19 16:45:51 -07:00
2011-05-28 17:02:57 +02:00
2011-03-31 11:26:23 -03:00
2010-05-04 05:38:16 +02:00
2011-03-23 13:54:47 +01:00
2011-04-22 11:06:59 +02:00
2011-05-26 17:12:34 -07:00
2011-05-23 12:49:28 -07:00
2011-04-14 08:52:33 +02:00
2011-04-14 08:52:33 +02:00
2011-05-25 08:39:17 -07:00
2011-04-14 08:52:33 +02:00
2010-02-25 10:34:26 +01:00
2011-05-26 17:12:34 -07:00
2011-03-31 11:26:23 -03:00
2011-03-22 17:44:11 -07:00
2011-05-19 16:55:28 +09:30
2011-03-23 19:46:58 -07:00
2011-04-18 10:35:30 -07:00
2011-05-29 11:18:09 -07:00
2011-05-23 13:59:54 +02:00
2011-05-24 12:10:51 +02:00
2011-05-25 08:39:48 -07:00
2011-05-26 17:12:37 -07:00
2011-05-25 19:20:21 +02:00
2010-11-12 07:55:31 -08:00
2011-05-05 23:16:57 -07:00
2011-05-05 23:16:58 -07:00
2011-05-20 12:50:29 -07:00
2011-05-05 23:16:57 -07:00
2011-05-28 17:41:56 +02:00
2011-05-26 09:42:23 -07:00
2011-05-28 17:41:56 +02:00
2011-05-28 17:41:52 +02:00
2010-11-05 08:21:34 -07:00
2011-03-23 19:46:22 -07:00
2010-12-17 10:01:09 -08:00
2011-01-27 21:13:51 -05:00
2011-01-27 21:13:51 -05:00
2011-02-22 22:07:22 +01:00
2011-01-27 21:13:51 -05:00
2011-03-31 11:26:23 -03:00
2011-02-23 11:33:59 +01:00
2010-11-23 10:29:08 +01:00
2010-07-17 12:06:22 +02:00
2010-07-17 12:06:22 +02:00
2011-04-24 13:18:38 +02:00
2011-05-28 17:02:56 +02:00
2011-04-14 08:52:41 +02:00
2011-04-14 08:52:36 +02:00
2011-05-28 17:02:54 +02:00
2011-05-28 17:02:54 +02:00
2011-04-14 08:52:36 +02:00
2011-05-28 17:02:57 +02:00
2011-05-25 19:22:27 +02:00
2011-03-22 17:44:11 -07:00
2011-05-05 23:16:54 -07:00
2009-12-14 23:55:33 +01:00
2011-01-14 04:56:49 -08:00
2011-03-22 17:44:01 -07:00
2011-05-20 13:53:02 -07:00
2011-05-19 18:24:11 -07:00
2011-03-14 09:15:28 -04:00
2011-03-23 19:46:51 -07:00
2011-05-25 15:35:32 -07:00
2011-03-23 19:47:14 -07:00
2010-10-14 08:55:27 +02:00
2011-03-15 18:53:35 -07:00
2011-03-15 18:53:35 -07:00
2011-04-04 12:48:08 -04:00
2010-10-27 18:03:17 -07:00
2011-03-23 19:47:08 -07:00
2011-01-13 08:03:18 -08:00
2011-03-31 11:26:23 -03:00
2011-03-23 19:46:59 -07:00
2009-11-12 02:04:55 -08:00
2011-05-10 14:35:35 -07:00
2011-03-31 11:26:23 -03:00
2011-05-23 21:07:40 -07:00
2010-06-29 10:07:14 +02:00
2011-05-24 11:53:42 -07:00