Re: [geert-renesas-drivers:renesas-clk-for-v5.20 14/19] drivers/clk/renesas/clk-r8a7779.c:137 r8a7779_cpg_clocks_init() warn: possible memory leak of 'data'

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

 



Hi Dan,

On Mon, Jun 20, 2022 at 10:39 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git renesas-clk-for-v5.20
> head:   080bcd8d5997b1a615e17cab02bd9d16d1d4fbf3
> commit: 444877983933d0efaf6788eabf2f750b1c175419 [14/19] clk: renesas: r8a7779: Remove struct r8a7779_cpg
> config: parisc-randconfig-m031-20220619 (https://download.01.org/0day-ci/archive/20220619/202206191333.YmgTGPjZ-lkp@xxxxxxxxx/config)
> compiler: hppa-linux-gcc (GCC) 11.3.0
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
>
> smatch warnings:
> drivers/clk/renesas/clk-r8a7779.c:137 r8a7779_cpg_clocks_init() warn: possible memory leak of 'data'
>
> vim +/data +137 drivers/clk/renesas/clk-r8a7779.c
>
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  113  static void __init r8a7779_cpg_clocks_init(struct device_node *np)
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  114  {
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  115    const struct cpg_clk_config *config;
> 444877983933d0 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2022-06-08  116    struct clk_onecell_data *data;
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  117    struct clk **clks;
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  118    unsigned int i, plla_mult;
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  119    int num_clks;
> 931db8a0c646e2 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2016-06-01  120    u32 mode;
> 931db8a0c646e2 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2016-06-01  121
> 931db8a0c646e2 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2016-06-01  122    if (rcar_rst_read_mode_pins(&mode))
> 931db8a0c646e2 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2016-06-01  123            return;
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  124
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  125    num_clks = of_property_count_strings(np, "clock-output-names");
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  126    if (num_clks < 0) {
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  127            pr_err("%s: failed to count clocks\n", __func__);
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  128            return;
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  129    }
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  130
> 444877983933d0 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2022-06-08  131    data = kzalloc(sizeof(*data), GFP_KERNEL);
> 6396bb221514d2 drivers/clk/renesas/clk-r8a7779.c  Kees Cook          2018-06-12  132    clks = kcalloc(CPG_NUM_CLOCKS, sizeof(*clks), GFP_KERNEL);
> 444877983933d0 drivers/clk/renesas/clk-r8a7779.c  Geert Uytterhoeven 2022-06-08  133    if (data == NULL || clks == NULL) {
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  134            /* We're leaking memory on purpose, there's no point in cleaning
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  135             * up as the system won't boot anyway.
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18  136             */
> 7b42a997bfb93c drivers/clk/shmobile/clk-r8a7779.c Simon Horman       2014-04-18 @137            return;

I think the comment says it all ;-)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux