Yu Kuai
013a79f1b5
nbd: call genl_unregister_family() first in nbd_cleanup()
...
[ Upstream commit 06c4da89c2
]
Otherwise there may be race between module removal and the handling of
netlink command, which can lead to the oops as shown below:
BUG: kernel NULL pointer dereference, address: 0000000000000098
Oops: 0002 [#1 ] SMP PTI
CPU: 1 PID: 31299 Comm: nbd-client Tainted: G E 5.14.0-rc4
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
RIP: 0010:down_write+0x1a/0x50
Call Trace:
start_creating+0x89/0x130
debugfs_create_dir+0x1b/0x130
nbd_start_device+0x13d/0x390 [nbd]
nbd_genl_connect+0x42f/0x748 [nbd]
genl_family_rcv_msg_doit.isra.0+0xec/0x150
genl_rcv_msg+0xe5/0x1e0
netlink_rcv_skb+0x55/0x100
genl_rcv+0x29/0x40
netlink_unicast+0x1a8/0x250
netlink_sendmsg+0x21b/0x430
____sys_sendmsg+0x2a4/0x2d0
___sys_sendmsg+0x81/0xc0
__sys_sendmsg+0x62/0xb0
__x64_sys_sendmsg+0x1f/0x30
do_syscall_64+0x3b/0xc0
entry_SYSCALL_64_after_hwframe+0x44/0xae
Modules linked in: nbd(E-)
Signed-off-by: Hou Tao <houtao1@huawei.com >
Signed-off-by: Yu Kuai <yukuai3@huawei.com >
Reviewed-by: Josef Bacik <josef@toxicpanda.com >
Link: https://lore.kernel.org/r/20220521073749.3146892-2-yukuai3@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2022-06-14 16:59:38 +02:00
..
2021-03-11 14:05:00 +01:00
2022-05-25 09:10:37 +02:00
2021-03-11 14:04:59 +01:00
2018-08-09 10:17:38 -06:00
2021-03-17 16:43:51 +01:00
2021-03-30 14:37:03 +02:00
2021-11-26 11:36:16 +01:00
2019-12-01 09:16:25 +01:00
2018-11-13 11:08:20 -08:00
2020-02-24 08:34:53 +01:00
2021-09-22 11:47:46 +02:00
2018-08-21 11:00:17 -06:00
2022-05-25 09:10:36 +02:00
2022-05-01 17:00:34 +02:00
2022-04-15 14:14:53 +02:00
2019-01-22 21:40:36 +01:00
2018-07-24 09:54:36 -06:00
2022-06-14 16:59:38 +02:00
2020-09-03 11:24:23 +02:00
2021-05-22 10:59:34 +02:00
2018-09-12 18:21:11 -06:00
2019-10-07 18:57:15 +02:00
2021-03-11 14:04:59 +01:00
2021-03-11 14:04:59 +01:00
2020-09-17 13:45:29 +02:00
2021-03-11 14:04:59 +01:00
2021-03-11 14:04:59 +01:00
2019-02-12 19:47:18 +01:00
2018-11-13 11:08:20 -08:00
2022-04-15 14:14:37 +02:00
2022-03-11 10:15:12 +01:00
2019-05-08 07:21:51 +02:00
2018-06-12 16:19:22 -07:00