From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933118AbcFBRww (ORCPT ); Thu, 2 Jun 2016 13:52:52 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:36516 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932967AbcFBRwv (ORCPT ); Thu, 2 Jun 2016 13:52:51 -0400 From: Sudip Mukherjee To: Valentina Manea , Shuah Khan , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Sudip Mukherjee Subject: [PATCH] usb: usbip: fix null pointer dereference Date: Thu, 2 Jun 2016 18:52:33 +0530 Message-Id: <1464873753-11456-1-git-send-email-sudipm.mukherjee@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have been dereferencing udc before checking it. Lets use it after it has been checked. Signed-off-by: Sudip Mukherjee --- drivers/usb/usbip/vudc_sysfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c index 99397fa..0ba6a06 100644 --- a/drivers/usb/usbip/vudc_sysfs.c +++ b/drivers/usb/usbip/vudc_sysfs.c @@ -35,14 +35,17 @@ int get_gadget_descs(struct vudc *udc) { struct vrequest *usb_req; - struct vep *ep0 = to_vep(udc->gadget.ep0); - struct usb_device_descriptor *ddesc = &udc->dev_desc; + struct vep *ep0; + struct usb_device_descriptor *ddesc; struct usb_ctrlrequest req; int ret; if (!udc || !udc->driver || !udc->pullup) return -EINVAL; + ep0 = to_vep(udc->gadget.ep0); + ddesc = &udc->dev_desc; + req.bRequestType = USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE; req.bRequest = USB_REQ_GET_DESCRIPTOR; req.wValue = cpu_to_le16(USB_DT_DEVICE << 8); -- 1.9.1