Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp1879476rdb; Tue, 3 Oct 2023 04:09:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGVHebsrROYPxbaMyNwfNygAH/viS7kHevCyovdUcw5YUrsGvaybaRVWzxn5Vlwc9Q9nrqE X-Received: by 2002:a05:6a21:66cb:b0:160:ec7e:ec07 with SMTP id ze11-20020a056a2166cb00b00160ec7eec07mr12706245pzb.58.1696331362822; Tue, 03 Oct 2023 04:09:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696331362; cv=none; d=google.com; s=arc-20160816; b=sE7q6MBmWUYHa0vd/xz/rh3SD2dQt08FRdN5zJ3GCUstKKmMMvPDvNKSMVX8K0H4EF PbTfh9mXNggsQsnqv7c2k+HgVEbtFAJN7KvVOJ0N9bYqpxysU/DJ9jV/GyRZeMLuh1X+ jObJ0Stlb46RkyUl/lZD6luZsjC1Wm66/do78vrQasByWdRU2b5oaLJhZoRPaiR6ZQF/ KzH+6G7hcNTun0VwaOCGKHInygCQa5ABM8ipM1wLyeK4hvlMafy3k5EBC/jEGj87mPPR n2kql61nDi2mrVWy6URGEc4lQGF1AZua64e2XuxONRVPLj+2KTUxE/Ekn2AUAv6FfQPV TaTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=xJkLm2vUtI6YeuUQWL2I8OZXnAkKoaRpvzv9Ksg8JlU=; fh=NeCsgoAgOQyt5dWaHRIgDsTQMNqXGBDg14wGFoEUL8s=; b=M4ewMev3yMugaw1DpQ4KAI7YWSVHg2DhzLEBrh4KhzlmFDtfjeD684lfPDA7WYo5PA omT9cF0iMtoloB5fqDBa1MOrj/jb1B4xiHaSFcb9G8v/yAmOAuTI0p6ez+MfvcYeRh+z 1Gq6Ad/THwXqf7W26N+Dx7v8ila1y23ikPG2rPSUm6YaahPLw5MX9xdnS1OUzAuaJ3IS NAQbpFyvP3inRaNVIZcIeXnJyAkxnsZRJ9xQfsjr+6biF6PRZlZlIBcaL3cYDluJmj10 xQJqI50N6t5vUlsenbv5F6bBNPebVWj6hwyrY8e4fNlb8JXGkZmWm3UA9mPsGQPP/JEG mp3g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id o1-20020a17090323c100b001c4248c3f8bsi1111544plh.559.2023.10.03.04.09.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 04:09:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 00E44816692F; Tue, 3 Oct 2023 04:09:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231859AbjJCLJQ (ORCPT + 99 others); Tue, 3 Oct 2023 07:09:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35928 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230341AbjJCLJP (ORCPT ); Tue, 3 Oct 2023 07:09:15 -0400 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCAD69E for ; Tue, 3 Oct 2023 04:09:11 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qndH1-0007AZ-J3; Tue, 03 Oct 2023 13:09:07 +0200 Received: from [2a0a:edc0:2:b01:1d::c5] (helo=pty.whiteo.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qndH0-00AkW9-Ql; Tue, 03 Oct 2023 13:09:06 +0200 Received: from mgr by pty.whiteo.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qndH0-00CEck-HF; Tue, 03 Oct 2023 13:09:06 +0200 Date: Tue, 3 Oct 2023 13:09:06 +0200 From: Michael Grzeschik To: Avichal Rakesh Cc: Laurent Pinchart , Daniel Scally , Greg Kroah-Hartman , jchowdhary@google.com, etalvala@google.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 0/3] usb: gadget: uvc: stability fixes on STREAMOFF. Message-ID: References: <20230930184821.310143-1-arakesh@google.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3n3R417MIroSViGx" Content-Disposition: inline In-Reply-To: <20230930184821.310143-1-arakesh@google.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: mgr@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 03 Oct 2023 04:09:19 -0700 (PDT) --3n3R417MIroSViGx Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi On Sat, Sep 30, 2023 at 11:48:18AM -0700, Avichal Rakesh wrote: >We have been seeing two main stability issues that uvc gadget driver >runs into when stopping streams: > 1. Attempting to queue usb_requests to a disabled usb_ep > 2. use-after-free issue for inflight usb_requests > >The three patches below fix the two issues above. Patch 1/3 fixes the >first issue, and Patch 2/3 and 3/3 fix the second issue. > >Avichal Rakesh (3): > usb: gadget: uvc: prevent use of disabled endpoint > usb: gadget: uvc: Allocate uvc_requests one at a time > usb: gadget: uvc: Fix use-after-free for inflight usb_requests > > drivers/usb/gadget/function/f_uvc.c | 11 +- > drivers/usb/gadget/function/f_uvc.h | 2 +- > drivers/usb/gadget/function/uvc.h | 6 +- > drivers/usb/gadget/function/uvc_v4l2.c | 21 ++- > drivers/usb/gadget/function/uvc_video.c | 189 +++++++++++++++++------- > 5 files changed, 164 insertions(+), 65 deletions(-) These patches are not applying on gregkh/usb-testing since Greg did take my patches first. I have already rebased them. In the updated version I the stack runs into the following error, when enabling lockdep. Could you try your version with lockdep enabled? [ 41.278520] configfs-gadget.vz gadget.0: uvc: reset UVC [ 47.156261] configfs-gadget.vz gadget.0: uvc: uvc_function_set_alt(2, 0) [ 47.169177] [ 47.170903] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D [ 47.176857] WARNING: possible recursive locking detected [ 47.182798] 6.5.0-20230919-1+ #19 Tainted: G C [ 47.189323] -------------------------------------------- [ 47.195256] vzuvcd/412 is trying to acquire lock: [ 47.200511] ffffff8009560928 (&video->req_lock){....}-{3:3}, at: uvc_vid= eo_complete+0x44/0x2e0 [ 47.210172] [ 47.210172] but task is already holding lock: [ 47.216687] ffffff8009560928 (&video->req_lock){....}-{3:3}, at: uvcg_vi= deo_enable+0x2d0/0x5c0 [ 47.226333] [ 47.226333] other info that might help us debug this: [ 47.233625] Possible unsafe locking scenario: [ 47.233625] [ 47.240242] CPU0 [ 47.242974] ---- [ 47.245709] lock(&video->req_lock); [ 47.249802] lock(&video->req_lock); [ 47.253897] [ 47.253897] *** DEADLOCK *** [ 47.253897] [ 47.260511] May be due to missing lock nesting notation [ 47.260511] Regards, Michael --=20 Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | --3n3R417MIroSViGx Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEElXvEUs6VPX6mDPT8C+njFXoeLGQFAmUb9k8ACgkQC+njFXoe LGS0IhAA0EfBq14KaSppb+uv/B+a8J749PHsk/54+/+5gLWaigYkUAYu10sVMk7R kn2KidBdSA757yaWm/ST6Vpap6MZJTV83c6YvqCZUE1GQxjreiU7YufHdfeRsKQh pw/c/2XreyruLGso/KYbOU916LNBeBfLVzobfBw9paxECke5Oy0eVi1yz85WHoHH 9vmHFLrfH/ofdYLYbedOvqRqlabCq5FFH6KsOLQLq0KCKqFZXOYwd4Vz3lDDjzC0 wuME9Y6SUVMkZNjMTXqp5sig9VLEtFhBMer9NQJeTo9P5BWpUA4N0WwQnUCUAOEf hinJSeEAhlPQhaC8GbDTDsapfw3iad/pKVuRxZ+ssnju5i63/A0dFNmWu5Hujh0I yfe7GtFxyhywPAscKyjEURbmsS0tDmgPsqp1Gnbf4fgo8gvLGW6vWldWjthrK9UG 61iWmJ6+3cAioI0ItN7wJuHaTdwCU3T2C/nKI37pyQw1KZrzLPZipByJ3KwE2tdw z8wYNuqltsPMwqHohdxNe2KeatmYySwSEUFyQKlQG5GWC6D5rR888Bkz5ywotdo3 pCvyJ5QgXkE5WFA2jn5YsujmFLnVkG5nYEuq9YEnOC82wbENq6CmmB3X+xMUKk+M IJ7KkuefSOv0F1UT5dI7XPdL6wl555Fxx9LGoKo/5Si1XV0sNxM= =JYIa -----END PGP SIGNATURE----- --3n3R417MIroSViGx--