tty: hvc_xen: NULL dereference on allocation failure
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 15 May 2012 08:47:47 +0000 (11:47 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 May 2012 15:48:45 +0000 (08:48 -0700)
If kzalloc() returns a NULL here, we pass a NULL to
xencons_disconnect_backend() which will cause an Oops.

Also I removed the __GFP_ZERO while I was at it since kzalloc() implies
__GFP_ZERO.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/hvc/hvc_xen.c

index 83d5c88..d3d91da 100644 (file)
@@ -430,9 +430,9 @@ static int __devinit xencons_probe(struct xenbus_device *dev,
        if (devid == 0)
                return -ENODEV;
 
-       info = kzalloc(sizeof(struct xencons_info), GFP_KERNEL | __GFP_ZERO);
+       info = kzalloc(sizeof(struct xencons_info), GFP_KERNEL);
        if (!info)
-               goto error_nomem;
+               return -ENOMEM;
        dev_set_drvdata(&dev->dev, info);
        info->xbdev = dev;
        info->vtermno = xenbus_devid_to_vtermno(devid);