Re: [PATCH] clk: hisilicon: Fix of_iomap leak in hisi_clk_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Smatch reports:
> 
> drivers/clk/hisilicon/clk.c:87 hisi_clk_init() warn: 'base'
> from of_iomap() not released on lines: 87.

How do you think about to add any tags (like “Fixes” and “Cc”) accordingly?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.16#n145


…
> To fix this, iounmap is added when handle error.

See also once more:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.16#n94


…
> +++ b/drivers/clk/hisilicon/clk.c
> @@ -84,6 +84,8 @@ struct hisi_clock_data *hisi_clk_init(struct device_node *np,
>  err_data:
>  	kfree(clk_data);
>  err:
> +	if (base)
> +		iounmap(base);
>  	return NULL;
>  }
…

* Please return directly after a failed of_iomap() call.
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?h=v6.16#n532

* Would it be nicer to use the label “unmap_io”?

* May the statement “clk_data->base = base;” be performed a bit later?

* How do you think about to replace an of_clk_add_provider() call
  by of_clk_add_hw_provider()?
  https://elixir.bootlin.com/linux/v6.16/source/drivers/clk/clk.c#L4996-L5001


Regards,
Markus





[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux