Skip to content

Commit

Permalink
Bluetooth: bnep: fix wild-memory-access in proto_unregister
Browse files Browse the repository at this point in the history
[ Upstream commit 64a9099 ]

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: 1da177e ("Linux-2.6.12-rc2")
Signed-off-by: Ye Bin <[email protected]>
Signed-off-by: Luiz Augusto von Dentz <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
  • Loading branch information
Ye Bin authored and gregkh committed Nov 8, 2024
1 parent 2c15c41 commit 2c43947
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions net/bluetooth/bnep/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 2c43947

Please sign in to comment.