netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] cmtp: fix argument error
@ 2023-03-31  6:45 Chenyuan Mi
  2023-03-31 17:33 ` Simon Horman
  0 siblings, 1 reply; 4+ messages in thread
From: Chenyuan Mi @ 2023-03-31  6:45 UTC (permalink / raw)
  To: isdn
  Cc: marcel, johan.hedberg, luiz.dentz, davem, edumazet, kuba, pabeni,
	netdev, linux-bluetooth, linux-kernel

Fix this issue by using BTPROTO_CMTP as argument instead of BTPROTO_HIDP.

Signed-off-by: Chenyuan Mi <michenyuan@huawei.com>
---
 net/bluetooth/cmtp/sock.c | 2 +-
 1 file changed, 1 insertion(+), 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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] cmtp: fix argument error
  2023-03-31  6:45 Chenyuan Mi
@ 2023-03-31 17:33 ` Simon Horman
  0 siblings, 0 replies; 4+ messages in thread
From: Simon Horman @ 2023-03-31 17:33 UTC (permalink / raw)
  To: Chenyuan Mi
  Cc: isdn, marcel, johan.hedberg, luiz.dentz, davem, edumazet, kuba,
	pabeni, netdev, linux-bluetooth, linux-kernel

On Fri, Mar 31, 2023 at 02:45:20PM +0800, Chenyuan Mi wrote:
> Fix this issue by using BTPROTO_CMTP as argument instead of BTPROTO_HIDP.

Thanks for your patch. Some things you may want to consider:

* I think it would be good to describe what the effect of this problem is,
  if it can be observed. And if not, say so. I think it would
  also be useful to state how the problem was found. F.e. using a tool, or
  by inspection.

* As this is described as a fix, it should probably have a fixes tag.
  I think it would be:

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 file changed, 1 insertion(+), 1 deletion(-)

Code change looks good.

> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] cmtp: fix argument error
@ 2023-04-03  2:35 michenyuan
  2023-04-03  9:56 ` Simon Horman
  0 siblings, 1 reply; 4+ messages in thread
From: michenyuan @ 2023-04-03  2:35 UTC (permalink / raw)
  To: Simon Horman
  Cc: isdn@linux-pingi.de, marcel@holtmann.org, johan.hedberg@gmail.com,
	luiz.dentz@gmail.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org,
	linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org

Thank you for your suggestion.

This bug may not cause serious security problem. 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.

This bug is observed by manually code review.

----------

On Fri, Mar 31, 2023 at 02:45:20PM +0800, Chenyuan Mi wrote:
> Fix this issue by using BTPROTO_CMTP as argument instead of BTPROTO_HIDP.

Thanks for your patch. Some things you may want to consider:

* I think it would be good to describe what the effect of this problem is,
  if it can be observed. And if not, say so. I think it would
  also be useful to state how the problem was found. F.e. using a tool, or
  by inspection.

* As this is described as a fix, it should probably have a fixes tag.
  I think it would be:

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 file changed, 1 insertion(+), 1 deletion(-)

Code change looks good.

> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] cmtp: fix argument error
  2023-04-03  2:35 [PATCH] cmtp: fix argument error michenyuan
@ 2023-04-03  9:56 ` Simon Horman
  0 siblings, 0 replies; 4+ messages in thread
From: Simon Horman @ 2023-04-03  9:56 UTC (permalink / raw)
  To: michenyuan
  Cc: isdn@linux-pingi.de, marcel@holtmann.org, johan.hedberg@gmail.com,
	luiz.dentz@gmail.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org,
	linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org

On Mon, Apr 03, 2023 at 02:35:21AM +0000, michenyuan wrote:
> Thank you for your suggestion.
> 
> This bug may not cause serious security problem. 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.
> 
> This bug is observed by manually code review.

Thanks, could I suggest that you post a v2 that looks a bit like this:

Subject: Re: [PATCH v2 net-next] bluetooth: unregister correct BTPROTO for CMTP

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: ...

...

> > ---
> >  net/bluetooth/cmtp/sock.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Code change looks good.
> 
> > 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-03  9:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-03  2:35 [PATCH] cmtp: fix argument error michenyuan
2023-04-03  9:56 ` Simon Horman
  -- strict thread matches above, loose matches on Subject: below --
2023-03-31  6:45 Chenyuan Mi
2023-03-31 17:33 ` Simon Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).