Re: [PATCH net] octeontx2-af: fix CGX debugfs RVU AF PCI reference leaks
From: Simon Horman
Date: Thu Jun 18 2026 - 11:11:41 EST
On Wed, Jun 17, 2026 at 04:15:25PM +0530, Ratheesh Kannoth wrote:
> CGX per-lmac debugfs seq readers obtained struct rvu via
> pci_get_drvdata(pci_get_device(..., PCI_DEVID_OCTEONTX2_RVU_AF, ...)),
> which leaks a PCI device reference on every read. Store rvu and the CGX
> handle in debugfs inode private data when creating stats, mac_filter,
> and fwdata files (one context per CGX), and use debugfs aux numbers for
> fwdata so lmac_id matches the other CGX debugfs entries.
>
> Fixes: f967488d095e ("octeontx2-af: Add per CGX port level NIX Rx/Tx counters")
> Fixes: dbc52debf95f ("octeontx2-af: Debugfs support for DMAC filters")
> Fixes: 49f02e6877d1 ("Octeontx2-af: Debugfs support for firmware data")
> Cc: Linu Cherian <lcherian@xxxxxxxxxxx>
> Reported-by: Yuho Choi <dbgh9129@xxxxxxxxx>
> Signed-off-by: Ratheesh Kannoth <rkannoth@xxxxxxxxxxx>
The nit below not withstanding this looks good to me.
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
> ---
> .../marvell/octeontx2/af/rvu_debugfs.c | 77 ++++++++++---------
> 1 file changed, 42 insertions(+), 35 deletions(-)
>
> diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
...
> @@ -2831,18 +2839,14 @@ static void rvu_dbg_npa_init(struct rvu *rvu)
>
> static int cgx_print_stats(struct seq_file *s, int lmac_id)
> {
> + struct rvu_cgx_lmac_dbgfs_ctx *dctx = s->private;
> struct cgx_link_user_info linfo;
> struct mac_ops *mac_ops;
> - void *cgxd = s->private;
> + void *cgxd = dctx->cgxd;
> + struct rvu *rvu = dctx->rvu;
nit: It would be nice to preserve reverse xmas tree order - longest line to
shortest - for local variable declarations. Likewise elsewhere in this
patch.
> u64 ucast, mcast, bcast;
> int stat = 0, err = 0;
> u64 tx_stat, rx_stat;
...