Thread (53 messages) flat view 53 messages, 9 authors, 3d ago

RE: [PATCH 24/28] EDAC/thunderx: Fix stale error context in thunderx_l2c_threaded_isr()

From: Loktionov, Aleksandr <hidden>
Date: 2026-09-16 06:02:58
Also in: dri-devel, intel-wired-lan, intel-xe, linux-devicetree, linux-edac, linux-gpio, linux-hardening, linux-media, linux-mips, linux-nfs, linux-samsung-soc, linux-scsi, linux-sound, linux-wireless, lkml, loongarch, netdev

quoted hunk ↗ jump to hunk
-----Original Message-----
From: Bill Wendling <morbo@google.com>
Sent: Tuesday, September 15, 2026 10:19 AM
To: linux-kernel@vger.kernel.org
Cc: Bill Wendling <morbo@google.com>; Russell King
[off-list ref]; Huacai Chen [off-list ref]; WANG
Xuerui [off-list ref]; Thomas Bogendoerfer
[off-list ref]; James E.J. Bottomley
[off-list ref]; Helge Deller [off-list ref];
Thomas Gleixner [off-list ref]; Ingo Molnar [off-list ref];
Borislav Petkov [off-list ref]; Dave Hansen
[off-list ref]; x86@kernel.org; H. Peter Anvin
[off-list ref]; Ian Abbott [off-list ref]; H Hartley Sweeten
[off-list ref]; Luck, Tony [off-list ref];
Maarten Lankhorst [off-list ref]; Maxime Ripard
[off-list ref]; Thomas Zimmermann [off-list ref]; David
Airlie [off-list ref]; Simona Vetter [off-list ref]; Brost,
Matthew [off-list ref]; Thomas Hellström
[off-list ref]; Vivi, Rodrigo
[off-list ref]; Dmitry Torokhov [off-list ref];
Matthias Schwarzott [off-list ref]; Mauro Carvalho Chehab
[off-list ref]; Nguyen, Anthony L [off-list ref];
Kitszel, Przemyslaw [off-list ref]; Andrew Lunn
[off-list ref]; David S. Miller [off-list ref]; Eric
Dumazet [off-list ref]; Jakub Kicinski [off-list ref]; Paolo
Abeni [off-list ref]; Arend van Spriel
[off-list ref]; Rob Herring [off-list ref];
Saravana Kannan [off-list ref]; Krzysztof Kozlowski
[off-list ref]; Sylwester Nawrocki [off-list ref]; Peter
Griffin [off-list ref]; Alim Akhtar
[off-list ref]; Linus Walleij [off-list ref]; Anil
Gurumurthy [off-list ref]; Sudarsana Kalluru
[off-list ref]; Martin K. Petersen [off-list ref];
Trond Myklebust [off-list ref]; Anna Schumaker
[off-list ref]; Mike Marshall [off-list ref]; Martin
Brandenburg [off-list ref]; Kees Cook [off-list ref]; Jiri
Pirko [off-list ref]; Simon Horman [off-list ref]; Chuck Lever
[off-list ref]; Jeff Layton [off-list ref]; NeilBrown
[off-list ref]; Olga Kornievskaia [off-list ref]; Dai Ngo
[off-list ref]; Tom Talpey [off-list ref]; Jaroslav Kysela
[off-list ref]; Takashi Iwai [off-list ref]; Andrew Morton
[off-list ref]; Mike Rapoport (Microsoft)
[off-list ref]; Kanglong Wang [off-list ref]; Tiezhu
Yang [off-list ref]; Qiang Ma [off-list ref];
Randy Dunlap [off-list ref]; Pengpeng Hou
[off-list ref]; Ard Biesheuvel [off-list ref]; Breno Leitao
[off-list ref]; Thorsten Blum [off-list ref]; Harshit
Mogalapalli [off-list ref]; Greg Kroah-Hartman
[off-list ref]; Lyude Paul [off-list ref]; Ashutosh
Desai [off-list ref]; Deak, Imre [off-list ref];
Dmitry Baryshkov [off-list ref]; Johan Hovold
[off-list ref]; Berg, Johannes [off-list ref];
Korenblit, Miriam Rachel [off-list ref];
Alexander Stein [off-list ref]; Cryolitia PukNgae
[off-list ref]; Jiaming Zhang [off-list ref]; Will
Porter [off-list ref]; Cen Zhang [off-list ref];
Cássio Gabriel [off-list ref]; Rong Zhang
[off-list ref]; Arun Raghavan [off-list ref]; linux-arm-
kernel@lists.infradead.org; loongarch@lists.linux.dev; linux-
mips@vger.kernel.org; linux-parisc@vger.kernel.org; linux-
edac@vger.kernel.org; dri-devel@lists.freedesktop.org; intel-
xe@lists.freedesktop.org; linux-input@vger.kernel.org; linux-
media@vger.kernel.org; intel-wired-lan@lists.osuosl.org;
netdev@vger.kernel.org; linux-wireless@vger.kernel.org;
brcm80211@lists.linux.dev; brcm80211-dev-list.pdl@broadcom.com;
devicetree@vger.kernel.org; linux-samsung-soc@vger.kernel.org; linux-
gpio@vger.kernel.org; linux-scsi@vger.kernel.org; linux-
nfs@vger.kernel.org; devel@lists.orangefs.org; linux-
hardening@vger.kernel.org; linux-sound@vger.kernel.org
Subject: [PATCH 24/28] EDAC/thunderx: Fix stale error context in
thunderx_l2c_threaded_isr()

thunderx_l2c_threaded_isr() computes "tail" and "ctx" once before
entering the loop that drains the L2C error ring, and never updates
them on subsequent iterations. When multiple errors are queued, every
iteration reports the first ring entry rather than advancing through
the ring, causing subsequent hardware errors in a batch to go
unreported.

Recompute "tail" and "ctx" at the start of each loop iteration,
matching the sibling thunderx_ocx_com_threaded_isr() and
thunderx_ocx_lnk_threaded_isr() handlers.

Fixes: 41003396f932 ("EDAC, thunderx: Add Cavium ThunderX EDAC
driver")
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <redacted>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <redacted>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <redacted>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <redacted>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <redacted>
Cc: Imre Deak <redacted>
Cc: Dmitry Baryshkov <redacted>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <redacted>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <redacted>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <redacted>
Cc: Will Porter <redacted>
Cc: Cen Zhang <redacted>
Cc: "Cássio Gabriel" <redacted>
Cc: Rong Zhang <redacted>
Cc: Arun Raghavan <redacted>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
 drivers/edac/thunderx_edac.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/drivers/edac/thunderx_edac.c
b/drivers/edac/thunderx_edac.c index 9c0a1e48f96f..e7c335ca0c36 100644
--- a/drivers/edac/thunderx_edac.c
+++ b/drivers/edac/thunderx_edac.c
@@ -1880,6 +1880,9 @@ static irqreturn_t thunderx_l2c_threaded_isr(int
irq, void *irq_id)

 	while (CIRC_CNT(l2c->ring_head, l2c->ring_tail,
 			ARRAY_SIZE(l2c->err_ctx))) {
+		tail = ring_pos(l2c->ring_tail, ARRAY_SIZE(l2c-
quoted
err_ctx));
+		ctx = &l2c->err_ctx[tail];
+
 		snprintf(msg, L2C_MESSAGE_SIZE,
 			 "%s: %s: %016llx, %s: %016llx",
 			 l2c->edac_dev->ctl_name, reg_int_name, ctx-
quoted
reg_int,
--
2.55.0.1032.g73a4cd73de-goog
Reviewed-by: Aleksandr Loktionov <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help