dingtianhong
2c8a01894a
dummy: fix oops when loading the dummy failed
We rename the dummy in modprobe.conf like this:
install dummy0 /sbin/modprobe -o dummy0 --ignore-install dummy
install dummy1 /sbin/modprobe -o dummy1 --ignore-install dummy
We got oops when we run the command:
modprobe dummy0
modprobe dummy1
------------[ cut here ]------------
[ 3302.187584] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
[ 3302.195411] IP: [<ffffffff813fe62a>] __rtnl_link_unregister+0x9a/0xd0
[ 3302.201844] PGD 85c94a067 PUD 8517bd067 PMD 0
[ 3302.206305] Oops: 0002 [#1] SMP
[ 3302.299737] task: ffff88105ccea300 ti: ffff880eba4a0000 task.ti: ffff880eba4a0000
[ 3302.307186] RIP: 0010:[<ffffffff813fe62a>] [<ffffffff813fe62a>] __rtnl_link_unregister+0x9a/0xd0
[ 3302.316044] RSP: 0018:ffff880eba4a1dd8 EFLAGS: 00010246
[ 3302.321332] RAX: 0000000000000000 RBX: ffffffff81a9d738 RCX: 0000000000000002
[ 3302.328436] RDX: 0000000000000000 RSI: ffffffffa04d602c RDI: ffff880eba4a1dd8
[ 3302.335541] RBP: ffff880eba4a1e18 R08: dead000000200200 R09: dead000000100100
[ 3302.342644] R10: 0000000000000080 R11: 0000000000000003 R12: ffffffff81a9d788
[ 3302.349748] R13: ffffffffa04d7020 R14: ffffffff81a9d670 R15: ffff880eba4a1dd8
[ 3302.364910] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3302.370630] CR2: 0000000000000008 CR3: 000000085e15e000 CR4: 00000000000427e0
[ 3302.377734] DR0: 0000000000000003 DR1: 00000000000000b0 DR2: 0000000000000001
[ 3302.384838] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 3302.391940] Stack:
[ 3302.393944] ffff880eba4a1dd8 ffff880eba4a1dd8 ffff880eba4a1e18 ffffffffa04d70c0
[ 3302.401350] 00000000ffffffef ffffffffa01a8000 0000000000000000 ffffffff816111c8
[ 3302.408758] ffff880eba4a1e48 ffffffffa01a80be ffff880eba4a1e48 ffffffffa04d70c0
[ 3302.416164] Call Trace:
[ 3302.418605] [<ffffffffa01a8000>] ? 0xffffffffa01a7fff
[ 3302.423727] [<ffffffffa01a80be>] dummy_init_module+0xbe/0x1000 [dummy0]
[ 3302.430405] [<ffffffffa01a8000>] ? 0xffffffffa01a7fff
[ 3302.435535] [<ffffffff81000322>] do_one_initcall+0x152/0x1b0
[ 3302.441263] [<ffffffff810ab24b>] do_init_module+0x7b/0x200
[ 3302.446824] [<ffffffff810ad3d2>] load_module+0x4e2/0x530
[ 3302.452215] [<ffffffff8127ae40>] ? ddebug_dyndbg_boot_param_cb+0x60/0x60
[ 3302.458979] [<ffffffff810ad5f1>] SyS_init_module+0xd1/0x130
[ 3302.464627] [<ffffffff814b9652>] system_call_fastpath+0x16/0x1b
[ 3302.490090] RIP [<ffffffff813fe62a>] __rtnl_link_unregister+0x9a/0xd0
[ 3302.496607] RSP <ffff880eba4a1dd8>
[ 3302.500084] CR2: 0000000000000008
[ 3302.503466] ---[ end trace 8342d49cd49f78ed ]---
The reason is that when loading dummy, if __rtnl_link_register() return failed,
the init_module should return and avoid take the wrong path.
Signed-off-by: Tan Xiaojun <tanxiaojun@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-07-11 11:59:20 -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:59:20 -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