Messages in this thread Patch in this message | | | From | Chenyuan Mi <> | Subject | Re: [PATCH v2 net-next] bluetooth: unregister correct BTPROTO for CMTP | Date | Tue, 4 Apr 2023 09:52:58 +0800 |
| |
On error unregister BTPROTO_CMTP to match the registration earlier in the same code-path. Without this change BTPROTO_HIDP is incorrectly unregistered.
This bug does not appear to cause serious security problem.
The function 'bt_sock_unregister' takes its parameter as an index and NULLs the corresponding element of 'bt_proto' which is an array of pointers. When 'bt_proto' dereferences each element, it would check whether the element is empty or not. Therefore, the problem of null pointer deference does not occur.
Found by inspection.
Fixes: 8c8de589cedd ("Bluetooth: Added /proc/net/cmtp via bt_procfs_init()") Signed-off-by: Chenyuan Mi <michenyuan@huawei.com> --- net/bluetooth/cmtp/sock.c | 2 +- 1 files changed, 1 insertions(+), 1 deletion(-)
diff --git a/net/bluetooth/cmtp/sock.c b/net/bluetooth/cmtp/sock.c index 96d49d9fae96..cf4370055ce2 100644 --- a/net/bluetooth/cmtp/sock.c +++ b/net/bluetooth/cmtp/sock.c @@ -250,7 +250,7 @@ int cmtp_init_sockets(void) err = bt_procfs_init(&init_net, "cmtp", &cmtp_sk_list, NULL); if (err < 0) { BT_ERR("Failed to create CMTP proc file"); - bt_sock_unregister(BTPROTO_HIDP); + bt_sock_unregister(BTPROTO_CMTP); goto error; } -- 2.25.1
| |