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

Frank Li Frank.li at oss.nxp.com
Thu Jul 23 11:42:28 PDT 2026


On Thu, Jul 23, 2026 at 09:27:28AM +0200, Frieder Schrempf wrote:
> From: Frieder Schrempf <frieder.schrempf at kontron.de>
>
> 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 at kontron.de>
> ---
>  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
>
>



More information about the linux-arm-kernel mailing list