* [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).