Re: [PATCH 2/2] staging: vchiq_arm: Use devm_kzalloc for mgmt

From: Stefan Wahren
Date: Sun Oct 13 2024 - 06:46:45 EST


Am 13.10.24 um 12:36 schrieb Umang Jain:


On 13/10/24 2:43 pm, Stefan Wahren wrote:
Hi Umang,

Am 13.10.24 um 10:45 schrieb Umang Jain:
Signed-off-by: Umang Jain <umang.jain@xxxxxxxxxxxxxxxx>
except of the missing commit message, this patch looks good to me. I
understand the concerns about devm_kzalloc, but I think this doesn't
apply in this case.

That's what I was wondering as well, since I tried module unloading
and with the cdev also goes away? So shouldn't be conern, right ?
AFAIU the problem would be if you bind the resources to the cdev, but
this isn't the case here. Btw I missed to mention that this is
considered as a fix and deserves a Fixes tag.


Since this should be treated as RFC, is it already tested?

yes, it was tested

Regards
---
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)

diff --git
a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
index e780ed714a14..334fb7037766 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -1345,7 +1345,7 @@ static int vchiq_probe(struct platform_device
*pdev)
          return -ENOENT;
      }

-    mgmt = kzalloc(sizeof(*mgmt), GFP_KERNEL);
+    mgmt = devm_kzalloc(&pdev->dev, sizeof(*mgmt), GFP_KERNEL);
      if (!mgmt)
          return -ENOMEM;

@@ -1403,8 +1403,6 @@ static void vchiq_remove(struct
platform_device *pdev)

      arm_state = vchiq_platform_get_arm_state(&mgmt->state);
      kthread_stop(arm_state->ka_thread);
-
-    kfree(mgmt);
  }

  static struct platform_driver vchiq_driver = {