Re: [PATCH net-next v8 1/8] bnxt_en: Add auxiliary driver support

From: Leon Romanovsky
Date: Tue Jan 24 2023 - 01:53:51 EST


On Mon, Jan 23, 2023 at 10:33:05PM -0800, Jakub Kicinski wrote:
> On Thu, 19 Jan 2023 22:05:28 -0800 Ajit Khaparde wrote:
> > @@ -13212,6 +13214,7 @@ static void bnxt_remove_one(struct pci_dev *pdev)
> > kfree(bp->rss_indir_tbl);
> > bp->rss_indir_tbl = NULL;
> > bnxt_free_port_stats(bp);
> > + bnxt_aux_priv_free(bp);
> > free_netdev(dev);
>
> You're still freeing the memory in which struct device sits regardless
> of its reference count.

BTW, Ajit does the same wrong kfree in bnxt_rdma_aux_device_add() too.
+ ret = auxiliary_device_add(aux_dev);
+ if (ret)
+ goto aux_dev_uninit;
+
...
+aux_dev_uninit:
+ auxiliary_device_uninit(aux_dev);
+free_edev:
+ kfree(edev); <----- wrong
+ bp->edev = NULL;

Thanks