2019-03-19 20:28:21

by Aditya Pakki

[permalink] [raw]
Subject: [PATCH v2] usb: usb251xb: fix to avoid potential NULL pointer dereference

of_match_device in usb251xb_probe can fail and returns a NULL pointer.
The patch avoids a potential NULL pointer dereference in this scenario.

--
v1: Fix to avoid return in case of error, per Richard's suggestion.
Signed-off-by: Aditya Pakki <[email protected]>
---
drivers/usb/misc/usb251xb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
index 4d72b7d1d383..bbfdb7447d6f 100644
--- a/drivers/usb/misc/usb251xb.c
+++ b/drivers/usb/misc/usb251xb.c
@@ -612,7 +612,7 @@ static int usb251xb_probe(struct usb251xb *hub)
dev);
int err;

- if (np) {
+ if (np && of_id) {
err = usb251xb_get_ofdata(hub,
(struct usb251xb_data *)of_id->data);
if (err) {
--
2.17.1



2019-03-20 10:08:50

by Richard Leitner

[permalink] [raw]
Subject: Re: [PATCH v2] usb: usb251xb: fix to avoid potential NULL pointer dereference

Hi, thanks for the updated patch.

Please find my comments below.

On 19/03/2019 21:26, Aditya Pakki wrote:
> of_match_device in usb251xb_probe can fail and returns a NULL pointer.
> The patch avoids a potential NULL pointer dereference in this scenario.
>
> --

This should be 3 dashes "---" ;-)

> v1: Fix to avoid return in case of error, per Richard's suggestion.
> Signed-off-by: Aditya Pakki <[email protected]>

This signed-off-by line should be in the commit message, not the
"version history" which is not included in the commit.

Apart from that (if you send a fixed v3) feel free to add
Reviewed-by: Richard Leitner <[email protected]>

regards;Richard.L

> ---
> drivers/usb/misc/usb251xb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
> index 4d72b7d1d383..bbfdb7447d6f 100644
> --- a/drivers/usb/misc/usb251xb.c
> +++ b/drivers/usb/misc/usb251xb.c
> @@ -612,7 +612,7 @@ static int usb251xb_probe(struct usb251xb *hub)
> dev);
> int err;
>
> - if (np) {
> + if (np && of_id) {
> err = usb251xb_get_ofdata(hub,
> (struct usb251xb_data *)of_id->data);
> if (err) {
>