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: <20250307115550.GAZ8rexkba5ryV3zk0@fat_crate.local>
Date: Fri, 7 Mar 2025 12:55:50 +0100
From: Borislav Petkov <bp@...en8.de>
To: Ryo Takakura <ryotkkr98@...il.com>, Boqun Feng <boqun.feng@...il.com>
Cc: Eric Dumazet <edumazet@...gle.com>, netdev@...r.kernel.org,
	"David S. Miller" <davem@...emloft.net>,
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
	Simon Horman <horms@...nel.org>,
	Kuniyuki Iwashima <kuniyu@...zon.com>, linux-kernel@...r.kernel.org,
	x86-ml <x86@...nel.org>
Subject: Re: request_irq() with local bh disabled

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.

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


-- 
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