From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f65.google.com ([209.85.215.65]:33816 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750913AbcEHSIT (ORCPT ); Sun, 8 May 2016 14:08:19 -0400 From: Johan Hovold To: linux-usb@vger.kernel.org Cc: stable@vger.kernel.org, Johan Hovold Subject: [PATCH 7/8] USB: serial: quatech2: fix use-after-free in probe error path Date: Sun, 8 May 2016 20:08:02 +0200 Message-Id: <1462730883-9025-8-git-send-email-johan@kernel.org> In-Reply-To: <1462730883-9025-1-git-send-email-johan@kernel.org> References: <1462730883-9025-1-git-send-email-johan@kernel.org> Sender: stable-owner@vger.kernel.org List-ID: The interface read URB is submitted in attach, but was only unlinked by the driver at disconnect. In case of a late probe error (e.g. due to failed minor allocation), disconnect is never called and we would end up with active URBs for an unbound interface. This in turn could lead to deallocated memory being dereferenced in the completion callback. Fixes: f7a33e608d9a ("USB: serial: add quatech2 usb to serial driver") Cc: stable # v3.5: 40d04738491d Signed-off-by: Johan Hovold --- drivers/usb/serial/quatech2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/serial/quatech2.c b/drivers/usb/serial/quatech2.c index 2df8ad5ede89..85acb50a7ee2 100644 --- a/drivers/usb/serial/quatech2.c +++ b/drivers/usb/serial/quatech2.c @@ -141,6 +141,7 @@ static void qt2_release(struct usb_serial *serial) serial_priv = usb_get_serial_data(serial); + usb_kill_urb(serial_priv->read_urb); usb_free_urb(serial_priv->read_urb); kfree(serial_priv->read_buffer); kfree(serial_priv); -- 2.7.3