Pravin B Shelar
f89e57c4f5
vxlan: Fix kernel crash on rmmod.
vxlan exit module unregisters vxlan net and then it unregisters
rtnl ops which triggers vxlan_dellink() from __rtnl_kill_links().
vxlan_dellink() deletes vxlan-dev from vxlan_list which has
list-head in vxlan-net-struct but that is already gone due to
net-unregister. That is how we are getting following crash.
Following commit fixes the crash by fixing module exit path.
BUG: unable to handle kernel paging request at ffff8804102c8000
IP: [<ffffffff812cc5e9>] __list_del_entry+0x29/0xd0
PGD 2972067 PUD 83e019067 PMD 83df97067 PTE 80000004102c8060
Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
Modules linked in: ---
CPU: 19 PID: 6712 Comm: rmmod Tainted: GF 3.10.0+ #95
Hardware name: Dell Inc. PowerEdge R620/0KCKR5, BIOS 1.4.8 10/25/2012
task: ffff88080c47c580 ti: ffff88080ac50000 task.ti: ffff88080ac50000
RIP: 0010:[<ffffffff812cc5e9>] [<ffffffff812cc5e9>]
__list_del_entry+0x29/0xd0
RSP: 0018:ffff88080ac51e08 EFLAGS: 00010206
RAX: ffff8804102c8000 RBX: ffff88040f0d4b10 RCX: dead000000200200
RDX: ffff8804102c8000 RSI: ffff88080ac51e58 RDI: ffff88040f0d4b10
RBP: ffff88080ac51e08 R08: 0000000000000001 R09: 2222222222222222
R10: 2222222222222222 R11: 2222222222222222 R12: ffff88080ac51e58
R13: ffffffffa07b8840 R14: ffffffff81ae48c0 R15: ffff88080ac51e58
FS: 00007f9ef105c700(0000) GS:ffff88082a800000(0000)
knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff8804102c8000 CR3: 00000008227e5000 CR4: 00000000000407e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Stack:
ffff88080ac51e28 ffffffff812cc6a1 2222222222222222 ffff88040f0d4000
ffff88080ac51e48 ffffffffa07b3311 ffff88040f0d4000 ffffffff81ae49c8
ffff88080ac51e98 ffffffff81492fc2 ffff88080ac51e58 ffff88080ac51e58
Call Trace:
[<ffffffff812cc6a1>] list_del+0x11/0x40
[<ffffffffa07b3311>] vxlan_dellink+0x51/0x70 [vxlan]
[<ffffffff81492fc2>] __rtnl_link_unregister+0xa2/0xb0
[<ffffffff8149448e>] rtnl_link_unregister+0x1e/0x30
[<ffffffffa07b7b7c>] vxlan_cleanup_module+0x1c/0x2f [vxlan]
[<ffffffff810c9b31>] SyS_delete_module+0x1d1/0x2c0
[<ffffffff812b8a0e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[<ffffffff81582f42>] system_call_fastpath+0x16/0x1b
Code: eb 9f 55 48 8b 17 48 b9 00 01 10 00 00 00 ad de 48 8b 47 08 48 89
e5 48 39 ca 74 29 48 b9 00 02 20 00 00 00 ad de 48 39 c8 74 7a <4c> 8b
00 4c 39 c7 75 53 4c 8b 42 08 4c 39 c7 75 2b 48 89 42 08
RIP [<ffffffff812cc5e9>] __list_del_entry+0x29/0xd0
RSP <ffff88080ac51e08>
CR2: ffff8804102c8000
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-07-11 11:45:36 -07:00
..
2013-07-04 10:29:23 -07:00
2013-07-03 19:49:46 -07:00
2013-06-17 17:12:20 -07:00
2013-07-09 16:04:31 -07:00
2013-06-27 13:42:16 -04:00
2013-07-10 10:16:07 -07:00
2013-06-23 00:23:53 +01:00
2013-07-02 14:23:01 -07:00
2013-07-03 16:07:25 -07:00
2013-07-09 16:04:31 -07:00
2013-07-03 14:35:40 -07:00
2013-07-06 14:09:38 -07:00
2013-07-04 11:40:58 -07:00
2013-07-03 14:35:40 -07:00
2013-07-09 10:33:30 -07:00
2013-07-03 17:12:13 -07:00
2013-07-09 10:33:19 -07:00
2013-07-03 13:11:18 -07:00
2013-07-03 16:07:41 -07:00
2013-07-04 10:29:23 -07:00
2013-06-24 16:23:25 -07:00
2013-07-03 14:35:40 -07:00
2013-07-09 16:04:31 -07:00
2013-07-04 15:35:08 -07:00
2013-07-03 16:07:41 -07:00
2013-06-24 16:24:17 -07:00
2013-07-08 14:18:24 +02:00
2013-07-04 14:02:09 -07:00
2013-07-03 16:07:41 -07:00
2013-07-10 11:10:27 -07:00
2013-07-09 18:24:39 -07:00
2013-07-10 11:10:27 -07:00
2013-07-09 10:33:20 -07:00
2013-07-02 16:14:35 -07:00
2013-07-09 18:24:39 -07:00
2013-07-02 08:44:02 -07:00
2013-07-04 11:40:58 -07:00
2013-07-01 11:46:56 +10:00
2013-07-04 11:40:58 -07:00
2013-07-10 11:02:58 -07:00
2013-06-17 16:46:06 -07:00
2013-07-03 16:08:06 -07:00
2013-07-03 16:07:41 -07:00
2013-07-10 11:10:27 -07:00
2013-07-04 11:40:58 -07:00
2013-07-10 11:16:00 -07:00
2013-07-05 12:09:48 -07:00
2013-07-11 11:45:36 -07:00
2013-07-09 18:24:39 -07:00
2013-07-09 18:24:39 -07:00
2013-07-09 22:09:16 +02:00
2013-07-03 17:12:13 -07:00
2013-07-03 17:12:13 -07:00
2013-07-02 11:44:19 -07:00
2013-07-03 11:48:03 -07:00
2013-07-03 16:07:41 -07:00
2013-07-03 14:35:40 -07:00
2013-07-10 11:13:00 -07:00
2013-07-03 16:08:06 -07:00
2013-06-24 16:41:32 -07:00
2013-06-26 23:23:54 +02:00
2013-07-03 16:08:05 -07:00
2013-07-10 11:10:27 -07:00
2013-07-10 11:10:27 -07:00
2013-07-09 18:24:39 -07:00
2013-07-09 18:24:39 -07:00
2013-06-28 13:01:40 +02:00
2013-07-03 17:12:13 -07:00
2013-06-28 22:11:48 -07:00
2013-07-10 11:02:58 -07:00
2013-06-20 16:47:41 -07:00
2013-06-19 01:31:50 +09:00
2013-07-04 15:35:08 -07:00
2013-07-03 16:07:26 -07:00
2013-07-10 11:10:27 -07:00
2013-07-03 16:07:41 -07:00
2013-07-04 10:29:23 -07:00
2013-07-09 12:55:48 -07:00
2013-07-09 16:04:31 -07:00
2013-07-09 18:24:39 -07:00
2013-06-24 16:23:25 -07:00
2013-07-03 16:08:06 -07:00
2013-07-10 11:10:27 -07:00
2013-07-06 14:09:38 -07:00
2013-06-29 12:57:28 +04:00
2013-07-10 11:10:27 -07:00
2013-07-10 11:10:27 -07:00