Messages in this thread | | | Subject | Re: [Xen-devel] [PATCH 7/9] xen/xenbus: Check before dereferencing it. | From | Ian Campbell <> | Date | Fri, 30 Sep 2011 09:01:21 +0100 |
| |
On Thu, 2011-09-29 at 20:52 +0100, Konrad Rzeszutek Wilk wrote: > . we do the check whether 'xdev' is NULL - but after we have > dereferenced it. > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > --- > drivers/xen/xenbus/xenbus_probe_backend.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/drivers/xen/xenbus/xenbus_probe_backend.c > index 60adf91..331589a 100644 > --- a/drivers/xen/xenbus/xenbus_probe_backend.c > +++ b/drivers/xen/xenbus/xenbus_probe_backend.c > @@ -103,10 +103,11 @@ static int xenbus_uevent_backend(struct device *dev, > return -ENODEV; > > xdev = to_xenbus_device(dev);
to_xenbus_device is just container_of. The only way it would return NULL is if dev == offsetof(struct xenbus_device, dev), which isn't terribly likely. A more likely error would be dev == NULL and we just checked above.
> - bus = container_of(xdev->dev.bus, struct xen_bus_type, bus); > if (xdev == NULL) > return -ENODEV; > > + bus = container_of(xdev->dev.bus, struct xen_bus_type, bus); > + > if (add_uevent_var(env, "MODALIAS=xen-backend:%s", xdev->devicetype)) > return -ENOMEM; >
| |