]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Bluetooth: bnep: fix wild-memory-access in proto_unregister
authorYe Bin <yebin10@huawei.com>
Mon, 14 Oct 2024 09:07:08 +0000 (17:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2024 00:52:34 +0000 (01:52 +0100)
commitfa58e23ea1359bd24b323916d191e2e9b4b19783
tree79cde0eac30c2580f591e992869f9c2d1fe1cf41
parent42d83e5fed3e1abbc657f68e20b7c8df5fbf546d
Bluetooth: bnep: fix wild-memory-access in proto_unregister

[ Upstream commit 64a90991ba8d4e32e3173ddd83d0b24167a5668c ]

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: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Ye Bin <yebin10@huawei.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bluetooth/bnep/core.c