lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250307125851.54493-1-ryotkkr98@gmail.com>
Date: Fri,  7 Mar 2025 21:58:51 +0900
From: Ryo Takakura <ryotkkr98@...il.com>
To: bp@...en8.de,
	peterz@...radead.org
Cc: boqun.feng@...il.com,
	davem@...emloft.net,
	edumazet@...gle.com,
	horms@...nel.org,
	kuba@...nel.org,
	kuniyu@...zon.com,
	linux-kernel@...r.kernel.org,
	netdev@...r.kernel.org,
	pabeni@...hat.com,
	ryotkkr98@...il.com,
	x86@...nel.org
Subject: Re: request_irq() with local bh disabled

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@...il.com>
>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@...il.com>
>    Signed-off-by: Boqun Feng <boqun.feng@...il.com>
>    Link: https://lore.kernel.org/r/20250118054900.18639-1-ryotkkr98@gmail.com

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ