Re: [PATCH] usb: usb251xb: fix to avoid potential NULL pointer dereference

From: Richard Leitner
Date: Tue Mar 19 2019 - 09:11:28 EST


On 19/03/2019 00:56, 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.

Signed-off-by: Aditya Pakki <pakki001@xxxxxxx>
---
drivers/usb/misc/usb251xb.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
index 4d72b7d1d383..fe5266dc8864 100644
--- a/drivers/usb/misc/usb251xb.c
+++ b/drivers/usb/misc/usb251xb.c
@@ -612,6 +612,8 @@ static int usb251xb_probe(struct usb251xb *hub)
dev);
int err;
+ if (!of_id)
+ return -ENODEV;

Hi Aditya,
thanks for finding this issue!

Nonetheless I'd prefer to change this to not return here but rather do something like:

if (np && of_id) {

So we still may bring up the hub in its default config in scenarios without dt/of...

Any comments/objections on that?

regards;Richard.L

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