[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <80129399-2aee-4be8-ad85-3b973c1cef94@nvidia.com>
Date: Tue, 27 Jan 2026 14:58:34 +0000
From: Jon Hunter <jonathanh@...dia.com>
To: Danilo Krummrich <dakr@...nel.org>, Gui-Dong Han <hanguidong02@...il.com>
Cc: Marek Szyprowski <m.szyprowski@...sung.com>,
Mark Brown <broonie@...nel.org>, gregkh@...uxfoundation.org,
rafael@...nel.org, linux-kernel@...r.kernel.org, baijiaju1990@...il.com,
Qiu-ji Chen <chenqiuji666@...il.com>, Aishwarya.TCV@....com,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>
Subject: Re: [PATCH v5] driver core: enforce device_lock for
driver_match_device()
On 23/01/2026 19:07, Danilo Krummrich wrote:
> On Fri Jan 23, 2026 at 7:53 PM CET, Gui-Dong Han wrote:
>> It seems the issue is simpler than a recursive registration deadlock.
>> Looking at the logs, tegra_qspi_probe triggers a NULL pointer
>> dereference (Oops) while holding the device_lock. The mutex likely
>> remains marked as held/orphaned, blocking subsequent driver bindings
>> on the same bus.
>>
>> This likely explains why lockdep was silent. Since this is not a lock
>> dependency cycle or a recursive locking violation, but rather a lock
>> remaining held by a terminated task, lockdep would not flag it as a
>> deadlock pattern.
>>
>> This is indeed a side effect of enforcing the lock hereāit amplifies
>> the impact of a crash. However, an Oops while holding the device_lock
>> is generally catastrophic regardless.
>
> This makes sense to me; it might indeed be as simple as that.
Yes I believe that this is the case too.
BTW, if I apply the SPI series from Breno [0], which fixes crash in the
SPI driver, then everything works fine.
Jon
[0]
https://lore.kernel.org/linux-tegra/20260126-tegra_xfer-v2-0-6d2115e4f387@debian.org/T/#t
--
nvpublic
Powered by blists - more mailing lists