Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f48219db authored by Horst Schirmeier's avatar Horst Schirmeier Committed by Greg Kroah-Hartman
Browse files

[PATCH] USB: usbcore: usb_set_configuration oops (NULL ptr dereference)



When trying to deconfigure a device via usb_set_configuration(dev, 0),
2.6.16-rc kernels after 55c52718 oops
with "Unable to handle NULL pointer dereference at...". This is due to
an unchecked dereference of cp in the power budget part.

Signed-off-by: default avatarHorst Schirmeier <horst@schirmeier.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6aa35675
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1388,11 +1388,13 @@ int usb_set_configuration(struct usb_device *dev, int configuration)
	if (dev->state != USB_STATE_ADDRESS)
		usb_disable_device (dev, 1);	// Skip ep0

	if (cp) {
		i = dev->bus_mA - cp->desc.bMaxPower * 2;
		if (i < 0)
			dev_warn(&dev->dev, "new config #%d exceeds power "
					"limit by %dmA\n",
					configuration, -i);
	}

	if ((ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
			USB_REQ_SET_CONFIGURATION, 0, configuration, 0,