Thread (4 messages) flat view 4 messages, 4 authors, 1h ago
HOTtoday

[PATCH net] octeontx2-af: validate MCS blocks before initialization

From: Slavin Liu <hidden>
Date: 2026-09-13 12:52:14
Also in: lkml
Subsystem: marvell octeontx2 rvu admin function driver, networking drivers, the rest · Maintainers: Sunil Goutham, Ratheesh Kannoth, Geetha sowjanya, Subbaraya Sundeep, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

The MCS count is a maximum successful ID plus one, not proof of a
dense device set. Validate the complete range before programming any
block, so a failed lower-ID probe cannot cause a NULL dereference.

Detected by static analysis and reviewed with AI-assisted source auditing.

Fixes: 080bbd19c9dd ("octeontx2-af: cn10k: mcs: Add mailboxes for port related operations")
Assisted-by: LLM
Signed-off-by: Slavin Liu <redacted>
---
 drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c b/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c
index fce22e314cac..0ee2d0d698e5 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c
@@ -889,6 +889,11 @@ int rvu_mcs_init(struct rvu *rvu)
 		rvu_mcs_set_lmac_bmap(rvu);
 	}
 
+	for (mcs_id = 0; mcs_id < rvu->mcs_blk_cnt; mcs_id++) {
+		if (!mcs_get_pdata(mcs_id))
+			return -ENODEV;
+	}
+
 	/* Install default tcam bypass entry and set port to operational mode */
 	for (mcs_id = 0; mcs_id < rvu->mcs_blk_cnt; mcs_id++) {
 		mcs = mcs_get_pdata(mcs_id);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help