Skip to content

Commit 2a7ca74

Browse files
Wang Haiholtmann
authored andcommitted
Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails
I got a kernel BUG report when doing fault injection test: ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:45! ... RIP: 0010:__list_del_entry_valid.cold+0x12/0x4d ... Call Trace: proto_unregister+0x83/0x220 cmtp_cleanup_sockets+0x37/0x40 [cmtp] cmtp_exit+0xe/0x1f [cmtp] do_syscall_64+0x35/0xb0 entry_SYSCALL_64_after_hwframe+0x44/0xae If cmtp_init_sockets() in cmtp_init() fails, cmtp_init() still returns success. This will cause a kernel bug when accessing uncreated ctmp related data when the module exits. Fixes: 1da177e ("Linux-2.6.12-rc2") Reported-by: Hulk Robot <[email protected]> Signed-off-by: Wang Hai <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
1 parent f33b006 commit 2a7ca74

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

net/bluetooth/cmtp/core.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -501,9 +501,7 @@ static int __init cmtp_init(void)
501501
{
502502
BT_INFO("CMTP (CAPI Emulation) ver %s", VERSION);
503503

504-
cmtp_init_sockets();
505-
506-
return 0;
504+
return cmtp_init_sockets();
507505
}
508506

509507
static void __exit cmtp_exit(void)

0 commit comments

Comments
 (0)