octeontx2-af: Fix rvu_mbox_init return path
authorSubbaraya Sundeep <sbhatta@marvell.com>
Wed, 18 Jun 2025 13:57:16 +0000 (19:27 +0530)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Jun 2025 11:37:12 +0000 (12:37 +0100)
rvu_mbox_init function makes use of error path for
freeing memory which are local to the function in
both success and failure conditions. This is unusual hence
fix it by returning zero on success. With new cn20k code this
is freeing valid memory in success case also.

Fixes: e53ee4acb220 ("octeontx2-af: CN20k basic mbox operations and structures")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu.c

index bfee71f..7e538ee 100644 (file)
@@ -2573,7 +2573,11 @@ static int rvu_mbox_init(struct rvu *rvu, struct mbox_wq_info *mw,
                mwork->rvu = rvu;
                INIT_WORK(&mwork->work, mbox_up_handler);
        }
-       goto free_regions;
+
+       kfree(mbox_regions);
+       bitmap_free(pf_bmap);
+
+       return 0;
 
 exit:
        destroy_workqueue(mw->mbox_wq);