Message ID | 20190318235605.11055-1-pakki001@umn.edu (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: usb251xb: fix to avoid potential NULL pointer dereference | expand |
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@umn.edu> > --- > 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); >
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; if (np) { err = usb251xb_get_ofdata(hub, (struct usb251xb_data *)of_id->data);
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@umn.edu> --- drivers/usb/misc/usb251xb.c | 2 ++ 1 file changed, 2 insertions(+)