Pekka Enberg
ec5a36f94e
SLAB: Fix lockdep annotations
...
Commit 8429db5... ("slab: setup cpu caches later on when interrupts are
enabled") broke mm/slab.c lockdep annotations:
[ 11.554715] =============================================
[ 11.555249] [ INFO: possible recursive locking detected ]
[ 11.555560] 2.6.31-rc1 #896
[ 11.555861] ---------------------------------------------
[ 11.556127] udevd/1899 is trying to acquire lock:
[ 11.556436] (&nc->lock){-.-...}, at: [<ffffffff810c337f>] kmem_cache_free+0xcd/0x25b
[ 11.557101]
[ 11.557102] but task is already holding lock:
[ 11.557706] (&nc->lock){-.-...}, at: [<ffffffff810c3cd0>] kfree+0x137/0x292
[ 11.558109]
[ 11.558109] other info that might help us debug this:
[ 11.558720] 2 locks held by udevd/1899:
[ 11.558983] #0 : (&nc->lock){-.-...}, at: [<ffffffff810c3cd0>] kfree+0x137/0x292
[ 11.559734] #1 : (&parent->list_lock){-.-...}, at: [<ffffffff810c36c7>] __drain_alien_cache+0x3b/0xbd
[ 11.560442]
[ 11.560443] stack backtrace:
[ 11.561009] Pid: 1899, comm: udevd Not tainted 2.6.31-rc1 #896
[ 11.561276] Call Trace:
[ 11.561632] [<ffffffff81065ed6>] __lock_acquire+0x15ec/0x168f
[ 11.561901] [<ffffffff81065f60>] ? __lock_acquire+0x1676/0x168f
[ 11.562171] [<ffffffff81063c52>] ? trace_hardirqs_on_caller+0x113/0x13e
[ 11.562490] [<ffffffff8150c337>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 11.562807] [<ffffffff8106603a>] lock_acquire+0xc1/0xe5
[ 11.563073] [<ffffffff810c337f>] ? kmem_cache_free+0xcd/0x25b
[ 11.563385] [<ffffffff8150c8fc>] _spin_lock+0x31/0x66
[ 11.563696] [<ffffffff810c337f>] ? kmem_cache_free+0xcd/0x25b
[ 11.563964] [<ffffffff810c337f>] kmem_cache_free+0xcd/0x25b
[ 11.564235] [<ffffffff8109bf8c>] ? __free_pages+0x1b/0x24
[ 11.564551] [<ffffffff810c3564>] slab_destroy+0x57/0x5c
[ 11.564860] [<ffffffff810c3641>] free_block+0xd8/0x123
[ 11.565126] [<ffffffff810c372e>] __drain_alien_cache+0xa2/0xbd
[ 11.565441] [<ffffffff810c3ce5>] kfree+0x14c/0x292
[ 11.565752] [<ffffffff8144a007>] skb_release_data+0xc6/0xcb
[ 11.566020] [<ffffffff81449cf0>] __kfree_skb+0x19/0x86
[ 11.566286] [<ffffffff81449d88>] consume_skb+0x2b/0x2d
[ 11.566631] [<ffffffff8144cbe0>] skb_free_datagram+0x14/0x3a
[ 11.566901] [<ffffffff81462eef>] netlink_recvmsg+0x164/0x258
[ 11.567170] [<ffffffff81443461>] sock_recvmsg+0xe5/0xfe
[ 11.567486] [<ffffffff810ab063>] ? might_fault+0xaf/0xb1
[ 11.567802] [<ffffffff81053a78>] ? autoremove_wake_function+0x0/0x38
[ 11.568073] [<ffffffff810d84ca>] ? core_sys_select+0x3d/0x2b4
[ 11.568378] [<ffffffff81065f60>] ? __lock_acquire+0x1676/0x168f
[ 11.568693] [<ffffffff81442dc1>] ? sockfd_lookup_light+0x1b/0x54
[ 11.568961] [<ffffffff81444416>] sys_recvfrom+0xa3/0xf8
[ 11.569228] [<ffffffff81063c8a>] ? trace_hardirqs_on+0xd/0xf
[ 11.569546] [<ffffffff8100af2b>] system_call_fastpath+0x16/0x1b#
Fix that up.
Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13654
Tested-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
2009-06-29 09:57:10 +03:00
..
2009-04-06 13:44:15 -07:00
2009-04-06 08:04:53 -07:00
2009-06-19 16:46:04 -07:00
2009-06-16 11:19:36 +02:00
2009-04-01 08:59:13 -07:00
2008-04-28 08:58:20 -07:00
2009-06-16 19:47:28 -07:00
2009-04-03 12:23:01 +02:00
2009-04-02 19:04:49 -07:00
2009-06-16 19:47:32 -07:00
2009-02-10 10:48:42 -08:00
2009-06-16 11:19:36 +02:00
2009-06-23 11:23:33 -07:00
2009-06-16 19:47:28 -07:00
2009-06-16 19:47:45 -07:00
2009-06-16 19:50:13 -07:00
2009-06-15 15:49:15 +02:00
2009-06-15 15:48:33 +02:00
2009-06-11 17:04:19 +01:00
2009-06-23 14:40:26 +01:00
2009-06-12 10:27:37 +02:00
2009-06-16 19:47:40 -07:00
2009-06-16 19:50:13 -07:00
2009-06-18 13:03:48 -07:00
2009-06-16 19:47:42 -07:00
2009-06-23 12:50:05 -07:00
2009-06-16 19:47:32 -07:00
2009-06-16 19:47:41 -07:00
2009-01-14 14:15:24 +01:00
2009-06-16 19:47:42 -07:00
2008-08-20 15:40:30 -07:00
2009-06-11 14:01:07 -07:00
2008-07-28 16:30:21 -07:00
2009-05-18 11:22:24 +01:00
2009-06-08 23:10:43 +02:00
2009-01-14 14:15:23 +01:00
2009-01-14 14:15:23 +01:00
2009-06-10 09:24:09 +10:00
2009-06-16 19:47:45 -07:00
2009-06-24 12:16:49 -07:00
2009-06-18 13:03:47 -07:00
2009-06-16 19:47:44 -07:00
2008-11-06 15:41:19 -08:00
2009-06-16 19:47:31 -07:00
2008-06-12 18:05:41 -07:00
2009-05-15 11:32:24 +02:00
2009-04-08 18:31:31 +02:00
2009-03-13 14:49:46 +10:30
2009-06-16 19:47:30 -07:00
2009-06-18 13:03:47 -07:00
2009-06-24 08:17:06 -04:00
2009-06-24 16:58:48 -04:00
2009-06-29 09:57:10 +03:00
2009-06-26 12:10:47 +03:00
2009-06-26 12:10:47 +03:00
2008-11-06 15:41:19 -08:00
2009-04-01 08:59:11 -07:00
2009-06-16 19:47:44 -07:00
2009-05-02 15:36:10 -07:00
2009-06-18 13:03:47 -07:00
2009-06-23 12:50:05 -07:00
2009-06-16 19:47:43 -07:00
2009-06-17 08:30:15 +03:00
2009-06-11 14:15:57 -07:00
2009-06-23 10:17:28 -07:00
2009-06-16 19:47:46 -07:00