Commit 64a90991 authored by Ye Bin's avatar Ye Bin Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: bnep: fix wild-memory-access in proto_unregister



There's issue as follows:
  KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]
  CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G        W
  RIP: 0010:proto_unregister+0xee/0x400
  Call Trace:
   <TASK>
   __do_sys_delete_module+0x318/0x580
   do_syscall_64+0xc1/0x1d0
   entry_SYSCALL_64_after_hwframe+0x77/0x7f

As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init()
will cleanup all resource. Then when remove bnep module will call
bnep_sock_cleanup() to cleanup sock's resource.
To solve above issue just return bnep_sock_init()'s return value in
bnep_exit().

Fixes: 1da177e4 ("Linux-2.6.12-rc2")
Signed-off-by: default avatarYe Bin <yebin10@huawei.com>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 40842861
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -745,8 +745,7 @@ static int __init bnep_init(void)
	if (flt[0])
		BT_INFO("BNEP filters: %s", flt);

	bnep_sock_init();
	return 0;
	return bnep_sock_init();
}

static void __exit bnep_exit(void)