From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36555C10F14 for ; Thu, 10 Oct 2019 12:24:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 10804208C3 for ; Thu, 10 Oct 2019 12:24:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570710271; bh=V6Im9tIruuo5nEvuNj2TYE6nnP2KSGGLoqkQxLOo1Rg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=GcMfIjK4W+bR5gMqpddL5jDdwEWcKHc94flwM8dm3QY9+c7wZR3pbiCB4spSluDKo sWlIy+I0QjYru5pqVQm9tjzSqRXNmpeyGIe1rK+GQLU/UPJaz6JmgVPW8XxwnJTIIn tTh0Lb7HS+OPQkQM0gOoXYZCaBVclIsF4+jzqbRs= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728305AbfJJMYa (ORCPT ); Thu, 10 Oct 2019 08:24:30 -0400 Received: from mail.kernel.org ([198.145.29.99]:43378 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727800AbfJJMYa (ORCPT ); Thu, 10 Oct 2019 08:24:30 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 00DA62064A; Thu, 10 Oct 2019 12:24:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570710269; bh=V6Im9tIruuo5nEvuNj2TYE6nnP2KSGGLoqkQxLOo1Rg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=vE005q4Dy9h01CqRYK7q5jjWARTiVtFAM+i+HEH6av5S/ONj6l1u+XVHiQux6YEJI KD8y237gGMVO/3gGWma4xJaVvbUHNAcl+7HvNTJkZLrkRPQJ8skXNSEvKnN3pB6b/8 lyn1k0I5QDuvKQ74B12TcsIjO51ZnBYyPD+EaADQ= Date: Thu, 10 Oct 2019 14:24:26 +0200 From: Greg Kroah-Hartman To: Johan Hovold Cc: linux-usb@vger.kernel.org, Keith Packard , Juergen Stuber , stable Subject: Re: [PATCH 5/5] USB: yurex: fix NULL-derefs on disconnect Message-ID: <20191010122426.GA702899@kroah.com> References: <20191009153848.8664-1-johan@kernel.org> <20191009153848.8664-6-johan@kernel.org> <20191010110532.GC27819@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191010110532.GC27819@localhost> User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org On Thu, Oct 10, 2019 at 01:05:32PM +0200, Johan Hovold wrote: > On Wed, Oct 09, 2019 at 05:38:48PM +0200, Johan Hovold wrote: > > The driver was using its struct usb_interface pointer as an inverted > > disconnected flag, but was setting it to NULL without making sure all > > code paths that used it were done with it. > > > > Before commit ef61eb43ada6 ("USB: yurex: Fix protection fault after > > device removal") this included the interrupt-in completion handler, but > > there are further accesses in dev_err and dev_dbg statements in > > yurex_write() and the driver-data destructor (sic!). > > > > Fix this by unconditionally stopping also the control URB at disconnect > > and by using a dedicated disconnected flag. > > > > Note that we need to take a reference to the struct usb_interface to > > avoid a use-after-free in the destructor whenever the device was > > disconnected while the character device was still open. > > > > Fixes: aadd6472d904 ("USB: yurex.c: remove dbg() usage") > > Fixes: 45714104b9e8 ("USB: yurex.c: remove err() usage") > > Cc: stable # 3.5: ef61eb43ada6 > > Signed-off-by: Johan Hovold > > Greg, I noticed that you picked up all patches in this series except > this last one. > > Was that one purpose or by mistake? Mistake, thanks for catching that. Now queued up. greg k-h