[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250813160340.GA3357@neeraj.linux>
Date: Wed, 13 Aug 2025 21:33:40 +0530
From: Neeraj Upadhyay <Neeraj.Upadhyay@...nel.org>
To: torvalds@...ux-foundation.org
Cc: paulmck@...nel.org, joelagnelf@...dia.com, frederic@...nel.org,
boqun.feng@...il.com, urezki@...il.com, qiang.zhang1211@...il.com,
linux-kernel@...r.kernel.org, kernel-team@...a.com,
rcu@...r.kernel.org
Subject: [GIT PULL] RCU fix for v6.17
Hello Linus,
The following changes since commit 8f5ae30d69d7543eee0d70083daf4de8fe15d585:
Linux 6.17-rc1 (2025-08-10 19:41:16 +0300)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.fixes.6.17
for you to fetch changes up to 61399e0c5410567ef60cb1cda34cca42903842e3:
rcu: Fix racy re-initialization of irq_work causing hangs (2025-08-11 08:43:49 +0530)
----------------------------------------------------------------
RCU fix for v6.17
Fix a regression introduced by commit b41642c87716 ("rcu: Fix
rcu_read_unlock() deadloop due to IRQ work") which results in boot hang
as reported by kernel test bot at [1]. This issue happens because RCU
re-initializes the deferred QS IRQ work everytime it is queued. With
commit b41642c87716, the IRQ work re-initialization can happen while it
is already queued. This results in IRQ work being requeued to itself.
When IRQ work finally fires, as it is requeued to itself, it is
repeatedly executed and results in hang. Fix this with initializing the
IRQ work only once before the CPU boots.
[1] https://lore.kernel.org/rcu/202508071303.c1134cce-lkp@intel.com/
----------------------------------------------------------------
Frederic Weisbecker (1):
rcu: Fix racy re-initialization of irq_work causing hangs
kernel/rcu/tree.c | 2 ++
kernel/rcu/tree.h | 1 +
kernel/rcu/tree_plugin.h | 8 ++++++--
3 files changed, 9 insertions(+), 2 deletions(-)
Powered by blists - more mailing lists