Re: [PATCH v2 net-next] bluetooth: unregister correct BTPROTO for CMTP
From: Simon Horman
Date: Tue Apr 04 2023 - 11:40:49 EST
On Tue, Apr 04, 2023 at 09:52:58AM +0800, Chenyuan Mi wrote:
> 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@xxxxxxxxxx>
Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxx>
> ---
> 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
>