WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 7/9] xen/xenbus: Check before dereferencing it.

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@xxxxxxxxxx>
> ---
>  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;
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel