Re: [PATCH v3 06/11] nvmem: imx-ocotp-ele: Use __free(kfree) in imx_ocotp_reg_read()

From: Frank Li

Date: Thu Jul 23 2026 - 14:43:36 EST


On Thu, Jul 23, 2026 at 09:27:28AM +0200, Frieder Schrempf wrote:
> From: Frieder Schrempf <frieder.schrempf@xxxxxxxxxx>
>
> This is useful to make sure the buffer is always freed when
> its scope ends and makes the code slightly easier to read.
>
> Signed-off-by: Frieder Schrempf <frieder.schrempf@xxxxxxxxxx>
> ---
> drivers/nvmem/imx-ocotp-ele.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/nvmem/imx-ocotp-ele.c b/drivers/nvmem/imx-ocotp-ele.c
> index 9d3f94e35508..47ee6bd176a3 100644
> --- a/drivers/nvmem/imx-ocotp-ele.c
> +++ b/drivers/nvmem/imx-ocotp-ele.c
> @@ -5,6 +5,7 @@
> * Copyright 2023 NXP
> */
>
> +#include <linux/cleanup.h>
> #include <linux/device.h>
> #include <linux/io.h>
> #include <linux/module.h>
> @@ -68,10 +69,10 @@ static int imx_ocotp_reg_read(void *context, unsigned int offset, void *val, siz
> {
> struct imx_ocotp_priv *priv = context;
> void __iomem *reg = priv->base + priv->data->reg_off;
> + void *p __free(kfree) = NULL;

according to cleanup.h, it should declare at where assign

void *p __free(free) = kzalloc(num_bytes, GFP_KERNEL);

Frank

> u32 count, index, num_bytes;
> enum fuse_type type;
> u32 *buf;
> - void *p;
> int i;
> u8 skipbytes;
>
> @@ -108,8 +109,6 @@ static int imx_ocotp_reg_read(void *context, unsigned int offset, void *val, siz
>
> mutex_unlock(&priv->lock);
>
> - kfree(p);
> -
> return 0;
> };
>
>
> --
> 2.55.0
>
>