From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ECFDE325485 for ; Tue, 11 Aug 2026 15:09:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786460964; cv=none; b=RlUxJJpfyRLvlISc/SqxoqfjpNKSFSM4DPGRLhYiQ40IQHMLNiPSoTMaRyoP38OES3PjPIfjWZWUx1jhpajJGGlspuRIa5wSf7EfZmHJth+x5fZ86wF9FRCaxNh7/LsgX5wr9iGX50q4ffR8gTYPcej7IQOEALJEOOqrj0/XEFw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786460964; c=relaxed/simple; bh=S8BNYeUJozFVDai3Mqi1ryokuGv8AUTP3MleRyN/nwk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UMka9vKOTeJYnrKxAzTGq18Gcq1XTB4TpZFg9I9G0Y8SQTBH/CEPXmWBG4gMFW848dwWx1s8PCAJEzmO94gfY/J1EkemKRpelCGMqiux79/rXQKFQlhA9MAhy9ExAy81FEOZSnL/qsRN36S84qmxCO1d9cYM+mpZYo4tryZ7omo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=sRydsPGO; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sRydsPGO" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-49558ce01afso8145555e9.1 for ; Tue, 11 Aug 2026 08:09:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786460961; x=1787065761; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=JHeXKPfQixVRjD3VLHeqX+LKCLeZreNr3o2OtfTzDps=; b=sRydsPGOV0x8IeoFT8e0uvFZRtcTvGoHhP4Vba+KNHMuNFzqr200sL0VvoOfi5ndaS /mD9cW6BSHFz2ir4lEPQ/yKz0fGpGfccW4UajQlPvXUADymTtPtl77wL6Lj5oFJgyhzJ Qf2h53PzLdj8Zs+kJmGCYKMrDzMv++YwxfkFOa8ty+x23J2+WH2xuCOPhm3ZrBVZmlL3 xBT6zM2k9Y/ShXdxteHhC336UDt3suLc0m7UZS+KITDy+ae7UsuVArojHgFWx5L2nqLf ydDqr8TNK+IE3rIdc+Z/2LBR0XwX8Mgcqy2oCujuKpRw2Tv52usNC2hHLr9UI+yL2eZi 3TLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786460961; x=1787065761; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=JHeXKPfQixVRjD3VLHeqX+LKCLeZreNr3o2OtfTzDps=; b=EI8RV8Y2/q7anmWAE/itKKrkbq74itgl2nFM1u9tVHpn+p6JhCfFsUS06S0LBD8MAI d0RZ5iM01T51WH2/j85Ui9CNbuGmG/MxdU0zUM1ti1PsZpWRLDdq9xqqMhapQ8mHNMFK 1B+WWpg/AFd8xM0XHkUuk9206F8rfdpqmiYGbRCNx5+IkZxD75nqCu6ox1XoS/BZ7mYO COrWXANivjBi047BUuvkB6q6jAJBxXD0QWjxuGGrIbz6tORF1RWZdjxSr/gkMe6n1S6U WF78xhoDM8IPA9Gu1tCiilKpX/fqTpkBYMs0pXL2HuUqWKWu5QZnNMyHFZBnSkB3STRz 8Zkg== X-Gm-Message-State: AOJu0YzvstMMtUHYS5fPDqDK7pUtsCshrhXknJt1BqZUlYf3wEKC3Sb/ 2f+VLpYpQR99jmdXEU+NB3fCBof9d1gWB90m598NhdtYZmY2Erf75Hat X-Gm-Gg: AR+sD11aTKQ1e/84ql7EFEAInISc+ePO+3lJAGkJ42NmqOSjjcdgAHzTF+c1i4vT+TM vqeWNy1XB4tkWSDdTOqWnadwzB1RUQX8/iXcMEXxUwFWqlCfdenZ8bAuZRFsboYcHLBiwgP7JNJ DMFkR/pBgGKZoE+UbaQc+RSNDXMv90+BmXJ7ig9IX+smnaVxE8cMTyCdPu/DtMZZtU5GcKANOg3 +PIQdFYqTEx1sgceodiVm9V1WPKBVcxE0/eIGZS1k8SZ/nMQjTVBE4BDLSxpDtoSQbQ9ePXOSJ4 HreZxlQc2HRRhOiG8r3L/fk1SgCPPr5bT8mBYX8MtD7DVQd6Ntfr3+hSF1kuBjtWWt7OIFlMEPY kRRNYE12L8cEXm2q7M4rUFMaYwUoVwAtm+aZ4+tMweVHCfjxWTZcJo+Sfo6EA+whd29lko3y6do C/Rbj1yK13ufRyiBqDwGMeqxTtI/qIdjIceBeCTFapbwR6R3527bnnkK9gau72O6Q2rUUV0EFye 05uA8unt7+WR/x5n6swQ4UhM+de7kV3mK31TuPzybemhKv8gLIrbWI= X-Received: by 2002:a05:600c:4f42:b0:495:6478:2dbc with SMTP id 5b1f17b1804b1-4997a5cb51cmr11108945e9.6.1786460960680; Tue, 11 Aug 2026 08:09:20 -0700 (PDT) Received: from valmpani.fritz.box (cgn-195-14-219-6.nc.de. [195.14.219.6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4997415e45dsm77399345e9.14.2026.08.11.08.09.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Aug 2026 08:09:19 -0700 (PDT) From: Vasileios Almpanis To: syzbot+3e2e533aa1b2a75525e7@syzkaller.appspotmail.com Cc: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Subject: usb: gadget: pch_udc: don't call pch_udc_remove() from the probe error path Date: Tue, 11 Aug 2026 17:09:17 +0200 Message-ID: <20260811150918.1947280-1-vasilisalmpanis@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <6a7b1b45.9c11d2ce.289b96.0106.GAE@google.com> References: <6a7b1b45.9c11d2ce.289b96.0106.GAE@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d58772d8520c7ef247c4b95c9bd76d3a25da9ff5 diff --git a/drivers/usb/gadget/udc/pch_udc.c b/drivers/usb/gadget/udc/pch_udc.c index 0a6886428739..5704aff2b09b 100644 --- a/drivers/usb/gadget/udc/pch_udc.c +++ b/drivers/usb/gadget/udc/pch_udc.c @@ -2979,16 +2979,8 @@ static void pch_udc_shutdown(struct pci_dev *pdev) pch_udc_set_disconnect(dev); } -static void pch_udc_remove(struct pci_dev *pdev) +static void pch_udc_cleanup(struct pch_udc_dev *dev) { - struct pch_udc_dev *dev = pci_get_drvdata(pdev); - - usb_del_gadget_udc(&dev->gadget); - - /* gadget driver must not be registered */ - if (dev->driver) - dev_err(&pdev->dev, - "%s: gadget driver still bound!!!\n", __func__); /* dma pool cleanup */ dma_pool_destroy(dev->data_requests); @@ -3016,6 +3008,20 @@ static void pch_udc_remove(struct pci_dev *pdev) pch_udc_exit(dev); } +static void pch_udc_remove(struct pci_dev *pdev) +{ + struct pch_udc_dev *dev = pci_get_drvdata(pdev); + + usb_del_gadget_udc(&dev->gadget); + + /* gadget driver must not be registered */ + if (dev->driver) + dev_err(&pdev->dev, + "%s: gadget driver still bound!!!\n", __func__); + + pch_udc_cleanup(dev); +} + static int __maybe_unused pch_udc_suspend(struct device *d) { struct pch_udc_dev *dev = dev_get_drvdata(d); @@ -3106,7 +3112,7 @@ static int pch_udc_probe(struct pci_dev *pdev, const struct pci_device_id *id) return 0; finished: - pch_udc_remove(pdev); + pch_udc_cleanup(dev); return retval; }