[PATCH 1/7] staging: greybus: simplify cleanup using __free
Andy Shevchenko
andriy.shevchenko at intel.com
Tue Mar 10 14:07:16 PDT 2026
On Wed, Mar 11, 2026 at 01:35:07AM +0530, Sanjay Chitroda wrote:
> Replace manual cleanup logic with __free attribute from cleanup.h. This
> removes explicit kfree() calls and simplifies the error handling paths.
>
> No functional change intended for kmalloc().
...
> + struct gb_camera_configure_streams_request *req __free(kfree) =
> + kmalloc(req_size, GFP_KERNEL);
> + struct gb_camera_configure_streams_response *resp __free(kfree) =
> + kmalloc(resp_size, GFP_KERNEL);
> if (!req || !resp) {
Now this check should be done in a better way.
> - kfree(req);
> - kfree(resp);
> return -ENOMEM;
> }
>
> done_skip_pm_put:
> mutex_unlock(&gcam->mutex);
To complete this, one may add a prerequisite to use guard()() first.
> - kfree(req);
> - kfree(resp);
> return ret;
> }
--
With Best Regards,
Andy Shevchenko
More information about the Linux-mediatek
mailing list