drivers/net/ethernet/amd/pds_core/debugfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
The memory allocated for intr_ctrl_regset, which is passed to
debugfs_create_regset32() may not be cleaned up when the driver is
removed. Fix that by using device managed allocation for it.
Fixes: 45d76f492938 ("pds_core: set up device and adminq")
Signed-off-by: Abdun Nihaal <abdun.nihaal@gmail.com>
---
drivers/net/ethernet/amd/pds_core/debugfs.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/amd/pds_core/debugfs.c b/drivers/net/ethernet/amd/pds_core/debugfs.c
index ac37a4e738ae..04c5e3abd8d7 100644
--- a/drivers/net/ethernet/amd/pds_core/debugfs.c
+++ b/drivers/net/ethernet/amd/pds_core/debugfs.c
@@ -154,8 +154,9 @@ void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq)
debugfs_create_u32("index", 0400, intr_dentry, &intr->index);
debugfs_create_u32("vector", 0400, intr_dentry, &intr->vector);
- intr_ctrl_regset = kzalloc(sizeof(*intr_ctrl_regset),
- GFP_KERNEL);
+ intr_ctrl_regset = devm_kzalloc(pdsc->dev,
+ sizeof(*intr_ctrl_regset),
+ GFP_KERNEL);
if (!intr_ctrl_regset)
return;
intr_ctrl_regset->regs = intr_ctrl_regs;
--
2.47.2
On 4/8/2025 10:44 PM, Abdun Nihaal wrote:
>
> The memory allocated for intr_ctrl_regset, which is passed to
> debugfs_create_regset32() may not be cleaned up when the driver is
> removed. Fix that by using device managed allocation for it.
>
> Fixes: 45d76f492938 ("pds_core: set up device and adminq")
> Signed-off-by: Abdun Nihaal <abdun.nihaal@gmail.com>
Thanks!
Reviewed-by: Shannon Nelson <shannon.nelson@amd.com>
> ---
> drivers/net/ethernet/amd/pds_core/debugfs.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/amd/pds_core/debugfs.c b/drivers/net/ethernet/amd/pds_core/debugfs.c
> index ac37a4e738ae..04c5e3abd8d7 100644
> --- a/drivers/net/ethernet/amd/pds_core/debugfs.c
> +++ b/drivers/net/ethernet/amd/pds_core/debugfs.c
> @@ -154,8 +154,9 @@ void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq)
> debugfs_create_u32("index", 0400, intr_dentry, &intr->index);
> debugfs_create_u32("vector", 0400, intr_dentry, &intr->vector);
>
> - intr_ctrl_regset = kzalloc(sizeof(*intr_ctrl_regset),
> - GFP_KERNEL);
> + intr_ctrl_regset = devm_kzalloc(pdsc->dev,
> + sizeof(*intr_ctrl_regset),
> + GFP_KERNEL);
> if (!intr_ctrl_regset)
> return;
> intr_ctrl_regset->regs = intr_ctrl_regs;
> --
> 2.47.2
>
On Wed, Apr 09, 2025 at 11:14:48AM +0530, Abdun Nihaal wrote:
> The memory allocated for intr_ctrl_regset, which is passed to
> debugfs_create_regset32() may not be cleaned up when the driver is
> removed. Fix that by using device managed allocation for it.
>
> Fixes: 45d76f492938 ("pds_core: set up device and adminq")
> Signed-off-by: Abdun Nihaal <abdun.nihaal@gmail.com>
> ---
> drivers/net/ethernet/amd/pds_core/debugfs.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/amd/pds_core/debugfs.c b/drivers/net/ethernet/amd/pds_core/debugfs.c
> index ac37a4e738ae..04c5e3abd8d7 100644
> --- a/drivers/net/ethernet/amd/pds_core/debugfs.c
> +++ b/drivers/net/ethernet/amd/pds_core/debugfs.c
> @@ -154,8 +154,9 @@ void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq)
> debugfs_create_u32("index", 0400, intr_dentry, &intr->index);
> debugfs_create_u32("vector", 0400, intr_dentry, &intr->vector);
>
> - intr_ctrl_regset = kzalloc(sizeof(*intr_ctrl_regset),
> - GFP_KERNEL);
> + intr_ctrl_regset = devm_kzalloc(pdsc->dev,
> + sizeof(*intr_ctrl_regset),
> + GFP_KERNEL);
> if (!intr_ctrl_regset)
> return;
> intr_ctrl_regset->regs = intr_ctrl_regs;
In ionic driver it is also devm_ version, thanks for catching that.
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
For future submission remember to set correct target (net instead of
net-next as it is a fix)
Thanks,
Michal
> --
> 2.47.2
© 2016 - 2026 Red Hat, Inc.