Re: request_irq() with local bh disabled
From: Ryo Takakura
Date: Fri Mar 07 2025 - 07:59:41 EST
Hi Boris and Peter,
On Fri, 7 Mar 2025 12:55:50 +0100, Borislav Petkov wrote:
>On Thu, Mar 06, 2025 at 05:19:12PM +0100, Borislav Petkov wrote:
>> On Thu, Mar 06, 2025 at 02:45:16PM +0100, Eric Dumazet wrote:
>> > Hmmm.. not sure why local_bh is considered held..
>>
>> Yeah, it looks like it is some crap in tip as current mainline is fine.
>>
>> Lemme see what I can find there.
>>
>> Thx and sorry for the noise.
>
>As already mentioned by Mr. Z on the tip-bot message thread, below commit
>breaks lockdep.
Thank you Peter for letting me know.
>Reverting it fixes the issue, ofc.
>
>$ git bisect start
># status: waiting for both good and bad commits
># good: [848e076317446f9c663771ddec142d7c2eb4cb43] Merge tag 'hid-for-linus-2025030501' of git://git.kernel.org/pub/scm/linux/kernel/git/>hid/hid
>git bisect good 848e076317446f9c663771ddec142d7c2eb4cb43
># status: waiting for bad commit, 1 good commit known
># bad: [f4444d22a90c3fb0c825195b4154455d42986f21] Merge remote-tracking branch 'tip/master' into rc5+
>git bisect bad f4444d22a90c3fb0c825195b4154455d42986f21
># bad: [6714630acf3cae8974e62a810389dcb191ac49af] Merge branch into tip/master: 'sched/core'
>git bisect bad 6714630acf3cae8974e62a810389dcb191ac49af
># good: [156a8975430b127b5000b9018cb220fddf633164] Merge branch into tip/master: 'irq/core'
>git bisect good 156a8975430b127b5000b9018cb220fddf633164
># bad: [468fad69db143874eaaeb472816f424e261df570] Merge branch into tip/master: 'locking/core'
>git bisect bad 468fad69db143874eaaeb472816f424e261df570
># good: [f5de95438834a3bc3ad747f67c9da93cd08e5008] irqchip/renesas-rzv2h: Simplify rzv2h_icu_init()
>git bisect good f5de95438834a3bc3ad747f67c9da93cd08e5008
># bad: [5fc1506d33db23894e74caf048ba5591f4986767] rust: lockdep: Remove support for dynamically allocated LockClassKeys
>git bisect bad 5fc1506d33db23894e74caf048ba5591f4986767
># bad: [9b4070d36399ffcadc92c918bd80da036a16faed] locking/lock_events: Add locking events for rtmutex slow paths
>git bisect bad 9b4070d36399ffcadc92c918bd80da036a16faed
># good: [337369f8ce9e20226402cf139c4f0d3ada7d1705] locking/mutex: Add MUTEX_WARN_ON() into fast path
>git bisect good 337369f8ce9e20226402cf139c4f0d3ada7d1705
># bad: [8a9d677a395703ef9075c91dd04066be8a553405] lockdep: Fix wait context check on softirq for PREEMPT_RT
>git bisect bad 8a9d677a395703ef9075c91dd04066be8a553405
># good: [5ddd09863c676935c18c8a13f5afb6d9992cbdeb] locking/rtmutex: Use struct keyword in kernel-doc comment
>git bisect good 5ddd09863c676935c18c8a13f5afb6d9992cbdeb
># first bad commit: [8a9d677a395703ef9075c91dd04066be8a553405] lockdep: Fix wait context check on softirq for PREEMPT_RT
>
>Author: Ryo Takakura <ryotkkr98@xxxxxxxxx>
>Date: Sat Jan 18 14:49:00 2025 +0900
>
> lockdep: Fix wait context check on softirq for PREEMPT_RT
>
> Since commit 0c1d7a2c2d32 ("lockdep: Remove softirq accounting on
> PREEMPT_RT."), the wait context test for mutex usage within
> "in softirq context" fails as it references @softirq_context.
>
> [ 0.184549] | wait context tests |
> [ 0.184549] --------------------------------------------------------------------------
> [ 0.184549] | rcu | raw | spin |mutex |
> [ 0.184549] --------------------------------------------------------------------------
> [ 0.184550] in hardirq context: ok | ok | ok | ok |
> [ 0.185083] in hardirq context (not threaded): ok | ok | ok | ok |
> [ 0.185606] in softirq context: ok | ok | ok |FAILED|
>
> As a fix, add lockdep map for BH disabled section. This fixes the
> issue by letting us catch cases when local_bh_disable() gets called
> with preemption disabled where local_lock doesn't get acquired.
> In the case of "in softirq context" selftest, local_bh_disable() was
> being called with preemption disable as it's early in the boot.
>
> Signed-off-by: Ryo Takakura <ryotkkr98@xxxxxxxxx>
> Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
> Link: https://lore.kernel.org/r/20250118054900.18639-1-ryotkkr98@xxxxxxxxx
I'm so sorry that the commit caused this problem...
Please let me know if there is anything that I should do.
Sincerely,
Ryo Takakura
>--
>Regards/Gruss,
> Boris.
>
>https://people.kernel.org/tglx/notes-about-netiquette