Re: [PATCH net] octeontx2-af: nix: Export CN10K admin queue enqueue mbox handler

From: netdev-bot+sashiko

Date: Fri Sep 18 2026 - 03:31:49 EST


Thank you for your contribution! Sashiko AI review found 1 potential
issue(s) to consider:

Critical: 0 · High: 1 · Medium: 0 · Low: 0

- [High] New EXPORT_SYMBOL() with no in-tree consumer:
`EXPORT_SYMBOL(rvu_mbox_handler_nix_cn10k_aq_enq)` is added in…

--

octeontx2-af: nix: Export CN10K admin queue enqueue mbox handler

This adds EXPORT_SYMBOL() for rvu_mbox_handler_nix_cn10k_aq_enq() in the
octeontx2 AF driver, with the stated motivation that out-of-tree CN10K
modules fail to load with an unresolved symbol.

> diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
> index 153eb57bad067..95776ab924e57 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
> @@ -1501,6 +1501,7 @@ int rvu_mbox_handler_nix_cn10k_aq_enq(struct rvu *rvu,
> return rvu_nix_aq_enq_inst(rvu, (struct nix_aq_enq_req *)req,
> (struct nix_aq_enq_rsp *)rsp);
> }
> +EXPORT_SYMBOL(rvu_mbox_handler_nix_cn10k_aq_enq);

[Severity: High]
Is there an in-tree user for this new export?

Grepping under drivers/net/ethernet/marvell/octeontx2/ shows
rvu_mbox_handler_nix_cn10k_aq_enq is referenced only by its own definition
in rvu_nix.c and by the mailbox dispatch that the MBOX_MESSAGES M() list in
af/mbox.h expands inside rvu_process_mbox_msg() in af/rvu.c.

That dispatch lives in the same module as the handler, per af/Makefile:

rvu_af-y := cgx.o rvu.o rvu_cgx.o rvu_npa.o rvu_nix.o \
rvu_reg.o rvu_npc.o rvu_debugfs.o ptp.o rvu_npc_fs.o \
...

So how can the commit message's "causing unresolved symbol failures at
module load time" be reproduced with an in-tree configuration? With
rvu_nix.o and the dispatch both linked into rvu_af, there does not appear to
be any mainline module that has to resolve this symbol at load time.

The commit message says the caller is out-of-tree:

"rvu_mbox_handler_nix_cn10k_aq_enq() is used by out-of-tree CN10K
modules but was not exported"

Would it make more sense to drop this hunk, or to post it together with the
in-tree driver that consumes it? As it stands the export widens the AF
module ABI to include direct NIX admin-queue context programming, struct rvu
internals and the mailbox request layout struct nix_cn10k_aq_enq_req, with
nothing in the tree using it.

A related question on consistency: the sibling handler
rvu_mbox_handler_nix_cn20k_aq_enq() in af/cn20k/nix.c is not exported, while
rvu_mbox_handler_npa_cn20k_aq_enq() in af/cn20k/npa.c is. Is the CN20K NIX
handler needed by the same out-of-tree modules, or is the intent to export
only this one?

--
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260915072357.980485-1-rkannoth%40marvell.com