[{"id":3686778,"web_url":"http://patchwork.ozlabs.org/comment/3686778/","msgid":"<DIB5HSQV09B8.3KK82M5HN2NZY@kernel.org>","list_archive_url":null,"date":"2026-05-06T00:01:01","subject":"Re: [PATCH v2] PCI: Init temporary pci device in new_id_store()","submitter":{"id":89037,"url":"http://patchwork.ozlabs.org/api/people/89037/","name":"Danilo Krummrich","email":"dakr@kernel.org"},"content":"On Wed May 6, 2026 at 1:43 AM CEST, Samiullah Khawaja wrote:\n> When setting new_id of a PCI device driver using sysfs a lockdep splat\n> occurs. This is because the new_id function new_id_store() checks for\n> driver_override by creating temporary pci_dev structs.\n>\n> Since the newly added driver_override spinlock is not init for temporary\n> pci_dev structs, the lockdep splat complains about it.\n>\n> Initialize the temporary pci device to fix this.\n>\n> [    4.464296] INFO: trying to register non-static key.\n> [    4.466207] The code is fine but needs lockdep annotation, or maybe\n> [    4.468487] you didn't initialize this object before use?\n> [    4.470486] turning off the locking correctness validator.\n> [    4.472494] CPU: 2 UID: 0 PID: 177 Comm: liveupdate-iomm Not tainted 7.0.0+ #9 PREEMPT(full)\n> [    4.472497] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014\n> [    4.472498] Call Trace:\n> [    4.472501]  <TASK>\n> [    4.472503]  dump_stack_lvl+0x5d/0x80\n> [    4.472508]  register_lock_class+0x77e/0x790\n> [    4.472512]  ? check_prev_add+0xf4/0xd30\n> [    4.472513]  ? check_prev_add+0xf4/0xd30\n> [    4.472515]  __lock_acquire+0x3b4/0x1b80\n> [    4.472518]  ? raw_irqentry_exit_cond_resched+0x20/0x50\n> [    4.472556]  lock_acquire+0xbf/0x2e0\n> [    4.472558]  ? pci_match_device+0x24/0x180\n> [    4.472563]  _raw_spin_lock+0x30/0x40\n> [    4.472567]  ? pci_match_device+0x24/0x180\n> [    4.472569]  pci_match_device+0x24/0x180\n> [    4.472571]  new_id_store+0x189/0x1d0\n> [    4.472574]  kernfs_fop_write_iter+0x14f/0x210\n> [    4.472578]  vfs_write+0x263/0x5e0\n> [    4.472583]  ksys_write+0x79/0xf0\n> [    4.472585]  do_syscall_64+0x117/0xf80\n> [    4.472587]  ? clear_bhb_loop+0x40/0x90\n> [    4.472590]  entry_SYSCALL_64_after_hwframe+0x77/0x7f\n> [    4.472592] RIP: 0033:0x7fe7bc0beeb2\n> [    4.472595] Code: 18 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 1a 83 e2 39 83 fa 08 75 12 e8 2b ff ff ff 0f 1f 00 49 89 ca 48 8b 44 24 20 0f 05 <48> 83 c4 18 c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 10 ff 74 24 18\n> [    4.472596] RSP: 002b:00007ffcdbb1ed80 EFLAGS: 00000202 ORIG_RAX: 0000000000000001\n> [    4.472598] RAX: ffffffffffffffda RBX: 00007fe7bc2415c0 RCX: 00007fe7bc0beeb2\n> [    4.472599] RDX: 000000000000000a RSI: 00005580955433c0 RDI: 0000000000000001\n> [    4.472600] RBP: 000000000000000a R08: 0000000000000000 R09: 0000000000000000\n> [    4.472601] R10: 0000000000000000 R11: 0000000000000202 R12: 000000000000000a\n> [    4.472602] R13: 00005580955433c0 R14: 000055805932493e R15: 0000558095545490\n> [    4.472605]  </TASK>\n>\n> Fixes: 10a4206a2401 (\"PCI: use generic driver_override infrastructure\")\n> Fixes: 8895d3bcb8ba (\"PCI: Fail new_id for vendor/device values already built into driver\")\n> Signed-off-by: Samiullah Khawaja <skhawaja@google.com>\n>\n> ---\n>\n> v2:\n>  - Use device_initialize instead of spinlock init\n>  - Set release cb and call put_device to release\n>  - Add Fixes tag for the commit that added temporary pci device without\n>    initialize.\n\nReviewed-by: Danilo Krummrich <dakr@kernel.org>","headers":{"Return-Path":"\n <linux-pci+bounces-53820-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=kWWAAuAI;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-53820-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"kWWAAuAI\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9FsT6Lf9z1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 10:01:17 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id CB01A3031CD8\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 00:01:06 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 5FA922236EE;\n\tWed,  6 May 2026 00:01:05 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 3AFE01A23B1;\n\tWed,  6 May 2026 00:01:04 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 509E5C2BCB4;\n\tWed,  6 May 2026 00:01:03 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778025665; cv=none;\n b=kNcfEMAwrTmWpsOQTJ5Q56zgVTTXU7DVHfK9LEoo7kpYKL3AhQBASpleDOze7EqopdUBl4ldGt2eOoNrBaWo72hf+MuLfo2z3xjARIsU3csBBUqTXR0trGyLFb6vPFhLzU42k7oD/cTnf6LsamqicqQPcpb2qXAu3W5kbeu8CoY=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778025665; c=relaxed/simple;\n\tbh=sr/Qb7QrZmwUG6tPlnwW4oPDv404K8bOpWYBhxjQ2lo=;\n\th=Mime-Version:Content-Type:Date:Message-Id:From:Subject:Cc:To:\n\t References:In-Reply-To;\n b=hecAK2yB2NACXYi0HcQJ4MRM6PzrA/Yvnhi1tIkEwHVgwQPkbK6K5lxQk89kp05T+VMwONNsAgGgBua0eOl4KwivljIQRdmvta/R7/Mm7VhRdbBbQu28oIP8X0qLlzLMHDKIUcOt3nSCTQqoAZKvu6h2Y4R67ScvpS1/Ut0+0ZI=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=kWWAAuAI; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1778025664;\n\tbh=sr/Qb7QrZmwUG6tPlnwW4oPDv404K8bOpWYBhxjQ2lo=;\n\th=Date:From:Subject:Cc:To:References:In-Reply-To:From;\n\tb=kWWAAuAI7VjNjbnjpgESBmy/z/5qXP+d9kiCCx4jImU+nGPgN1dL+f9oUYXDBCCfZ\n\t 3Dh4QHhrlFexBDuS4lffD+RxfKnV4SWIAtwHch8GL6qKdA/imESQ9NBou2ckr+K5wa\n\t IsRomE9yH7pE8ev0EKVZQDAnlzLPOeCYYqDzKYti48+RIpsJD4pA6cYzUlxPo1hkFq\n\t X4qR6mZ/TVYx4o3UieGV+EcS00iDOn8nF3/4Tb8QakXkEE5t82TG3IRBrafTJlEkuI\n\t +YbC/2KRbsV0PdwTnhXS+ptyffyLFMhFK8+tgMN19IE+vUm4uOKXA+POGN0IrkQFC8\n\t C4HzK6W4sX07A==","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","Mime-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","Content-Type":"text/plain; charset=UTF-8","Date":"Wed, 06 May 2026 02:01:01 +0200","Message-Id":"<DIB5HSQV09B8.3KK82M5HN2NZY@kernel.org>","From":"\"Danilo Krummrich\" <dakr@kernel.org>","Subject":"Re: [PATCH v2] PCI: Init temporary pci device in new_id_store()","Cc":"\"Bjorn Helgaas\" <bhelgaas@google.com>, \"Bandan Das\" <bsd@redhat.com>,\n \"Gui-Dong Han\" <hanguidong02@gmail.com>, \"Greg Kroah-Hartman\"\n <gregkh@linuxfoundation.org>, \"Alex Williamson\" <alex@shazbot.org>,\n <linux-pci@vger.kernel.org>, <linux-kernel@vger.kernel.org>","To":"\"Samiullah Khawaja\" <skhawaja@google.com>","References":"<20260505234327.716630-1-skhawaja@google.com>","In-Reply-To":"<20260505234327.716630-1-skhawaja@google.com>"}},{"id":3687407,"web_url":"http://patchwork.ozlabs.org/comment/3687407/","msgid":"<20260506220137.GA881374@bhelgaas>","list_archive_url":null,"date":"2026-05-06T22:01:37","subject":"Re: [PATCH v2] PCI: Init temporary pci device in new_id_store()","submitter":{"id":67298,"url":"http://patchwork.ozlabs.org/api/people/67298/","name":"Bjorn Helgaas","email":"helgaas@kernel.org"},"content":"On Tue, May 05, 2026 at 11:43:27PM +0000, Samiullah Khawaja wrote:\n> When setting new_id of a PCI device driver using sysfs a lockdep splat\n> occurs. This is because the new_id function new_id_store() checks for\n> driver_override by creating temporary pci_dev structs.\n> \n> Since the newly added driver_override spinlock is not init for temporary\n> pci_dev structs, the lockdep splat complains about it.\n> \n> Initialize the temporary pci device to fix this.\n> \n> [    4.464296] INFO: trying to register non-static key.\n> [    4.466207] The code is fine but needs lockdep annotation, or maybe\n> [    4.468487] you didn't initialize this object before use?\n> [    4.470486] turning off the locking correctness validator.\n> [    4.472494] CPU: 2 UID: 0 PID: 177 Comm: liveupdate-iomm Not tainted 7.0.0+ #9 PREEMPT(full)\n> [    4.472497] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014\n> [    4.472498] Call Trace:\n> [    4.472501]  <TASK>\n> [    4.472503]  dump_stack_lvl+0x5d/0x80\n> [    4.472508]  register_lock_class+0x77e/0x790\n> [    4.472512]  ? check_prev_add+0xf4/0xd30\n> [    4.472513]  ? check_prev_add+0xf4/0xd30\n> [    4.472515]  __lock_acquire+0x3b4/0x1b80\n> [    4.472518]  ? raw_irqentry_exit_cond_resched+0x20/0x50\n> [    4.472556]  lock_acquire+0xbf/0x2e0\n> [    4.472558]  ? pci_match_device+0x24/0x180\n> [    4.472563]  _raw_spin_lock+0x30/0x40\n> [    4.472567]  ? pci_match_device+0x24/0x180\n> [    4.472569]  pci_match_device+0x24/0x180\n> [    4.472571]  new_id_store+0x189/0x1d0\n> [    4.472574]  kernfs_fop_write_iter+0x14f/0x210\n> [    4.472578]  vfs_write+0x263/0x5e0\n> [    4.472583]  ksys_write+0x79/0xf0\n> [    4.472585]  do_syscall_64+0x117/0xf80\n> [    4.472587]  ? clear_bhb_loop+0x40/0x90\n> [    4.472590]  entry_SYSCALL_64_after_hwframe+0x77/0x7f\n> [    4.472592] RIP: 0033:0x7fe7bc0beeb2\n> [    4.472595] Code: 18 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 1a 83 e2 39 83 fa 08 75 12 e8 2b ff ff ff 0f 1f 00 49 89 ca 48 8b 44 24 20 0f 05 <48> 83 c4 18 c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 10 ff 74 24 18\n> [    4.472596] RSP: 002b:00007ffcdbb1ed80 EFLAGS: 00000202 ORIG_RAX: 0000000000000001\n> [    4.472598] RAX: ffffffffffffffda RBX: 00007fe7bc2415c0 RCX: 00007fe7bc0beeb2\n> [    4.472599] RDX: 000000000000000a RSI: 00005580955433c0 RDI: 0000000000000001\n> [    4.472600] RBP: 000000000000000a R08: 0000000000000000 R09: 0000000000000000\n> [    4.472601] R10: 0000000000000000 R11: 0000000000000202 R12: 000000000000000a\n> [    4.472602] R13: 00005580955433c0 R14: 000055805932493e R15: 0000558095545490\n> [    4.472605]  </TASK>\n> \n> Fixes: 10a4206a2401 (\"PCI: use generic driver_override infrastructure\")\n> Fixes: 8895d3bcb8ba (\"PCI: Fail new_id for vendor/device values already built into driver\")\n> Signed-off-by: Samiullah Khawaja <skhawaja@google.com>\n> \n> ---\n> \n> v2:\n>  - Use device_initialize instead of spinlock init\n>  - Set release cb and call put_device to release\n>  - Add Fixes tag for the commit that added temporary pci device without\n>    initialize.\n> ---\n>  drivers/pci/pci-driver.c | 9 ++++++++-\n>  1 file changed, 8 insertions(+), 1 deletion(-)\n> \n> diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c\n> index d10ece0889f0..e3f59001785a 100644\n> --- a/drivers/pci/pci-driver.c\n> +++ b/drivers/pci/pci-driver.c\n> @@ -179,6 +179,11 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv,\n>  \treturn NULL;\n>  }\n>  \n> +static void _pci_free_device(struct device *dev)\n> +{\n> +\tkfree(to_pci_dev(dev));\n> +}\n> +\n>  /**\n>   * new_id_store - sysfs frontend to pci_add_dynid()\n>   * @driver: target device driver\n> @@ -214,11 +219,13 @@ static ssize_t new_id_store(struct device_driver *driver, const char *buf,\n>  \t\tpdev->subsystem_vendor = subvendor;\n>  \t\tpdev->subsystem_device = subdevice;\n>  \t\tpdev->class = class;\n> +\t\tpdev->dev.release = _pci_free_device;\n>  \n> +\t\tdevice_initialize(&pdev->dev);\n>  \t\tif (pci_match_device(pdrv, pdev))\n>  \t\t\tretval = -EEXIST;\n>  \n> -\t\tkfree(pdev);\n> +\t\tput_device(&pdev->dev);\n\nThe commit log says new_id_store() checks for driver_override, which\nis technically true because it uses pci_match_device(), which calls\ndevice_match_driver_override().  But I don't think it's relevant in\nthis path because dev->driver_override.name is not set in the\ntemporary device.\n\nI wish we had a lower-level function to match a simple struct\npci_device_id against the driver dynids list.  Then we could use that\nhere instead of faking up this temporary pci_dev and using\npci_match_device(), and we wouldn't need to mess with\ndevice_initialize() and put_device().\n\nAnd maybe pci_match_device() could be built on top of it for the probe\nand bus match paths that already have a struct pci_dev for a real\ndevice.\n\nBut I don't know whether that would all be feasible, and it would be\nfar out of scope for this patch anyway.\n\nApplied this on pci/for-linus for v7.1, since 10a4206a2401 appeared in\nv7.1-rc1.\n\n>  \t\tif (retval)\n>  \t\t\treturn retval;\n> \n> base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731\n> -- \n> 2.54.0.545.g6539524ca2-goog\n>","headers":{"Return-Path":"\n <linux-pci+bounces-54014-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=dohrXIoZ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-54014-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"dohrXIoZ\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9qFf3lGZz1yKd\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 07 May 2026 08:05:42 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 0DA6F3006B6D\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 22:01:40 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 768F635B631;\n\tWed,  6 May 2026 22:01:39 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 537D43382E1;\n\tWed,  6 May 2026 22:01:39 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 16477C2BCB0;\n\tWed,  6 May 2026 22:01:39 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778104899; cv=none;\n b=n/x+o28gJBSRCuxxOSNZ5lVuvHL+K5SfkCoS7L8C3jAtV04b/Cr7jUTXwHdZffx9sKfp9ISTOEqwrMudQZ2akcX/Nja2p8C7gqlYvCE1K0mu7a4V+Zf0OEWcq1osRpC76MvqsVstwq3oYjpGs0NztE8k65c0Opvb34huM16JdxY=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778104899; c=relaxed/simple;\n\tbh=z/37yJDtREHQAtFfBrCnE7k5pqS/ap8EnXJEtB175xI=;\n\th=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:\n\t Content-Disposition:In-Reply-To;\n b=q43MzZoMvFCWvJFpmyJKn+n45U7zto9gf4V8SOBr1elOd7gjmPddUFrthGjdxeUyQ+Ul//htdpcA+ptS/sQhI8/JkTadaiWaT7rlbq9Dp7u+uZ6VXvfrTOsNesoGTJ9+DM3eC4EGB0l02MTxM6T0PBa04uowiU124KrLqkCiVsM=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=dohrXIoZ; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1778104899;\n\tbh=z/37yJDtREHQAtFfBrCnE7k5pqS/ap8EnXJEtB175xI=;\n\th=Date:From:To:Cc:Subject:In-Reply-To:From;\n\tb=dohrXIoZPeRO8ll/lm1uBtuRlluS528kduQMh2kQmRzeGzv3WboVot4QXusdH6ftF\n\t gVYDElPR5OWyGiN6Gmhf+D8RG/Hyx/gpEECAQboWqh4EYoUNDxAEnuzxjKbhYvF2Ur\n\t zFrlrPh0e3Wufj7OKmC3eAraRzgObLePnaCUuXON8NH4CfJ+HVoOoN42+IFg5IcVGq\n\t kX2asQOI7eQW/RGTE67SSL3sVV9dIr6s/+gyxwX6U6F0az+jSoMXmvHvzvFffLfmzO\n\t rzt/boYqiOtC5rVDv9lCKpSGq527EaWZC7pQUEBQ6KOToo68EEdt7LAt1eHuM8rZ2N\n\t AV4tOHg9HgTAw==","Date":"Wed, 6 May 2026 17:01:37 -0500","From":"Bjorn Helgaas <helgaas@kernel.org>","To":"Samiullah Khawaja <skhawaja@google.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, Danilo Krummrich <dakr@kernel.org>,\n\tBandan Das <bsd@redhat.com>, Gui-Dong Han <hanguidong02@gmail.com>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n\tAlex Williamson <alex@shazbot.org>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Subject":"Re: [PATCH v2] PCI: Init temporary pci device in new_id_store()","Message-ID":"<20260506220137.GA881374@bhelgaas>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260505234327.716630-1-skhawaja@google.com>"}}]