Re: [PATCH 1/9] EDAC/versalnet: Add NULL check for mci in handle_error()
From: Pandey, Radhey Shyam
Date: Mon Jul 27 2026 - 02:49:09 EST
On 7/27/2026 5:22 AM, Borislav Petkov wrote:
On Fri, Jul 24, 2026 at 10:49:37PM +0530, Shubhrajyoti Datta wrote:
diff --git a/drivers/edac/versalnet_edac.c b/drivers/edac/versalnet_edac.c
index d1af5e175f7e..316f8f79c4d8 100644
--- a/drivers/edac/versalnet_edac.c
+++ b/drivers/edac/versalnet_edac.c
@@ -439,6 +439,8 @@ static void handle_error(struct mc_priv *priv, struct ecc_status *stat,
return;
mci = priv->mci[ctl_num];
+ if (!mci)
+ return;
You have a WARN_ON_ONCE right before that line which checks against
NUM_CONTROLLERS and init_versalnet() unwinds all the setup the moment
init_one_mc() fails for one of the MCs.
The gap in the driver is that init_one_mc() returns success without
setting priv->mci[i] when the bus width decodes to DEV_UNKNOWN, while
buggy firmware / future firmware rpmsg error path can still calls
handle_error().
Happy to drop the check if you prefer otherwise we can keep it as a
cheap guard for a firmware/driver mismatch.
Shubrajyoti: Please feel free to add/correct. I'm still ramping up on
this driver and may have overlooked details.
So why are we adding dead code?