From: Hans Zhang <18255117159@163.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: lpieralisi@kernel.org, manivannan.sadhasivam@linaro.org,
thierry.reding@gmail.com, kw@linux.com, robh@kernel.org,
bhelgaas@google.com, jonathanh@nvidia.com,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-tegra@vger.kernel.org
Subject: Re: [PATCH] pci: tegra194: Fix debugfs cleanup for !CONFIG_PCIEASPM
Date: Sat, 5 Apr 2025 23:49:16 +0800 [thread overview]
Message-ID: <c52ac489-51e9-4803-bf64-2bb6cfbf30bf@163.com> (raw)
In-Reply-To: <20250405152818.GA107831@bhelgaas>
On 2025/4/5 23:28, Bjorn Helgaas wrote:
> Follow subject line capitalization convention.
>
> On Sat, Apr 05, 2025 at 10:54:59PM +0800, Hans Zhang wrote:
>> When CONFIG_PCIEASPM is disabled, debugfs entries are not created, but
>> tegra_pcie_dw_remove() and tegra_pcie_dw_shutdown() unconditionally call
>> debugfs_remove_recursive(), leading to potential NULL pointer operations.
>>
>> Introduce deinit_debugfs() to wrap debugfs_remove_recursive(), which is
>> stubbed for !CONFIG_PCIEASPM. Use this function during removal/shutdown to
>> ensure debugfs cleanup only occurs when entries were initialized.
>>
>> This prevents kernel warnings and instability when ASPM support is
>> disabled.
>
> This looks like there should be a Fixes: tag to connect this to the
> commit that introduced the problem.
Hi Bjorn,
Thanks your for reply. Will add.
Fixes: bb617cbd8151 (PCI: tegra194: Clean up the exit path for Endpoint
mode)
>
> If this is something that broke with the v6.15 merge window, we should
> include this in v6.15 via pci/for-linus. If this broke earlier, we
> would have to decide whether pci/for-linus is still appropriate or a
> stable tag.
>
The original code that introduced the unconditional
`debugfs_remove_recursive()` calls was actually merged in an earlier cycle.
> We did merge some debugfs things for v6.15, but I don't see anything
> specific to pcie-tegra194.c, so I'm confused about why this fix would
> be in pcie-tegra194.c instead of some more generic place.
>
The Tegra194 driver conditionally initializes pcie->debugfs based on
CONFIG_PCIEASPM. When ASPM is disabled, pcie->debugfs remains
uninitialized, but tegra_pcie_dw_remove() and tegra_pcie_dw_shutdown()
unconditionally call debugfs_remove_recursive(), leading to a NULL
pointer dereference. This is specific to the Tegra194 implementation, as
other drivers or core PCI code may already guard debugfs cleanup against
uninitialized states through different mechanisms.
Best regards,
Hans
next prev parent reply other threads:[~2025-04-05 15:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-05 14:54 [PATCH] pci: tegra194: Fix debugfs cleanup for !CONFIG_PCIEASPM Hans Zhang
2025-04-05 15:28 ` Bjorn Helgaas
2025-04-05 15:49 ` Hans Zhang [this message]
2025-04-05 16:17 ` Christophe JAILLET
2025-04-05 16:35 ` Hans Zhang
2025-04-05 16:47 ` Hans Zhang
2025-04-05 17:04 ` Christophe JAILLET
2025-04-05 17:10 ` Hans Zhang
2025-04-05 16:14 ` Christophe JAILLET
2025-04-05 16:41 ` Hans Zhang
2025-04-06 0:48 ` kernel test robot
2025-04-06 2:10 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c52ac489-51e9-4803-bf64-2bb6cfbf30bf@163.com \
--to=18255117159@163.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=kw@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=robh@kernel.org \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox