Re: [PATCH 4.19 57/72] usb: usb251xb: fix to avoid potential NULL pointer dereference

From: Greg Kroah-Hartman
Date: Sat May 04 2019 - 02:46:02 EST


On Fri, May 03, 2019 at 11:32:35PM +0200, Pavel Machek wrote:
> On Thu 2019-05-02 17:21:19, Greg Kroah-Hartman wrote:
> > [ Upstream commit 41f00e6e9e55546390031996b773e7f3c1d95928 ]
> >
> > 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>
> > Reviewed-by: Richard Leitner <richard.leitner@xxxxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Sasha Levin (Microsoft) <sashal@xxxxxxxxxx>
> > ---
> > 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 a6efb9a72939..5f7734c729b1 100644
> > --- a/drivers/usb/misc/usb251xb.c
> > +++ b/drivers/usb/misc/usb251xb.c
> > @@ -601,7 +601,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) {
>
> Are you sure this si correct?
>
> If of_id is NULL, this will proceed without setting up hub->conf_data
> etc.
>
> I'd expect it to just return error from probe...?

I think it will error out later on.

> Was this tested?

Don't know, error paths are hard to test :)

But the code obviously fixes a null dereference, so that's a good thing.

thanks,

greg k-h