All of lore.kernel.org
 help / color / mirror / Atom feed
* [smatch stuff] mmv/VUB300: null dereferences in error handling
@ 2011-05-26 17:14 Dan Carpenter
  2011-05-27  3:16 ` [PATCH] mmc: vub300: fix " Chris Ball
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2011-05-26 17:14 UTC (permalink / raw)
  To: tony.olech; +Cc: linux-mmc


In vub300_probe() from drivers/mmc/host/vub300.c we dereference
vub300 when it's a NULL variable.  Btw, let's remove the bogus
initialization to NULL so that gcc will complain if the bug gets
introduced again.

  2119          if (!command_out_urb) {
  2120                  retval = -ENOMEM;
  2121                  dev_err(&vub300->udev->dev,
                                 ^^^^^^^^^^^^
  2122                          "not enough memory for the command_out_urb\n");
  2123                  goto error0;
  2124          }
  2125          command_res_urb = usb_alloc_urb(0, GFP_KERNEL);
  2126          if (!command_res_urb) {
  2127                  retval = -ENOMEM;
  2128                  dev_err(&vub300->udev->dev,
                                 ^^^^^^^^^^^^
  2129                          "not enough memory for the command_res_urb\n");
  2130                  goto error1;
  2131          }
  2132          /* this also allocates memory for our VUB300 mmc host device */
  2133          mmc = mmc_alloc_host(sizeof(struct vub300_mmc_host), &udev->dev);
  2134          if (!mmc) {
  2135                  retval = -ENOMEM;
  2136                  dev_err(&vub300->udev->dev,
                                 ^^^^^^^^^^^^
  2137                          "not enough memory for the mmc_host\n");
  2138                  goto error4;
  2139          }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] mmc: vub300: fix null dereferences in error handling
  2011-05-26 17:14 [smatch stuff] mmv/VUB300: null dereferences in error handling Dan Carpenter
@ 2011-05-27  3:16 ` Chris Ball
  0 siblings, 0 replies; 2+ messages in thread
From: Chris Ball @ 2011-05-27  3:16 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: tony.olech, linux-mmc

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
---
On Thu, May 26 2011, Dan Carpenter wrote:
> In vub300_probe() from drivers/mmc/host/vub300.c we dereference
> vub300 when it's a NULL variable.  Btw, let's remove the bogus
> initialization to NULL so that gcc will complain if the bug gets
> introduced again.

Thanks Dan -- I'll queue this fix up:

diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c
index cbb0330..d4455ff 100644
--- a/drivers/mmc/host/vub300.c
+++ b/drivers/mmc/host/vub300.c
@@ -2096,7 +2096,7 @@ static struct mmc_host_ops vub300_mmc_ops = {
 static int vub300_probe(struct usb_interface *interface,
 			const struct usb_device_id *id)
 {				/* NOT irq */
-	struct vub300_mmc_host *vub300 = NULL;
+	struct vub300_mmc_host *vub300;
 	struct usb_host_interface *iface_desc;
 	struct usb_device *udev = usb_get_dev(interface_to_usbdev(interface));
 	int i;
@@ -2118,23 +2118,20 @@ static int vub300_probe(struct usb_interface *interface,
 	command_out_urb = usb_alloc_urb(0, GFP_KERNEL);
 	if (!command_out_urb) {
 		retval = -ENOMEM;
-		dev_err(&vub300->udev->dev,
-			"not enough memory for the command_out_urb\n");
+		dev_err(&udev->dev, "not enough memory for command_out_urb\n");
 		goto error0;
 	}
 	command_res_urb = usb_alloc_urb(0, GFP_KERNEL);
 	if (!command_res_urb) {
 		retval = -ENOMEM;
-		dev_err(&vub300->udev->dev,
-			"not enough memory for the command_res_urb\n");
+		dev_err(&udev->dev, "not enough memory for command_res_urb\n");
 		goto error1;
 	}
 	/* this also allocates memory for our VUB300 mmc host device */
 	mmc = mmc_alloc_host(sizeof(struct vub300_mmc_host), &udev->dev);
 	if (!mmc) {
 		retval = -ENOMEM;
-		dev_err(&vub300->udev->dev,
-			"not enough memory for the mmc_host\n");
+		dev_err(&udev->dev, "not enough memory for the mmc_host\n");
 		goto error4;
 	}
 	/* MMC core transfer sizes tunable parameters */

-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-05-27  3:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-26 17:14 [smatch stuff] mmv/VUB300: null dereferences in error handling Dan Carpenter
2011-05-27  3:16 ` [PATCH] mmc: vub300: fix " Chris Ball

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.