mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
       [not found] <202201200359.lTk9zHg4-lkp@intel.com>
@ 2022-01-20  1:46 ` kernel test robot
  2022-01-24 21:50   ` Nick Desaulniers
  0 siblings, 1 reply; 4+ messages in thread
From: kernel test robot @ 2022-01-20  1:46 UTC (permalink / raw)
  To: Nikita Shubin
  Cc: llvm, kbuild-all, Linux Kernel Mailing List, Arnd Bergmann,
	Alexander Sverdlin

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   1d1df41c5a33359a00e919d54eaebfb789711fdc
commit: 9645ccc7bd7a16cd73c3be9dee70cd702b03be37 ep93xx: clock: convert in-place to COMMON_CLK
date:   3 months ago
config: arm-randconfig-c002-20220118 (https://download.01.org/0day-ci/archive/20220120/202201200359.lTk9zHg4-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5f782d25a742302d25ef3c8b84b54f7483c2deb9)
reproduce (this is a W=1 build):
         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
         chmod +x ~/bin/make.cross
         # install arm cross compiling tool for clang build
         # apt-get install binutils-arm-linux-gnueabi
         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9645ccc7bd7a16cd73c3be9dee70cd702b03be37
         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
         git fetch --no-tags linus master
         git checkout 9645ccc7bd7a16cd73c3be9dee70cd702b03be37
         # save the config file to linux build tree
         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)

 >> arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
            return &psc->hw;
            ^
    arch/arm/mach-ep93xx/clock.c:151:2: note: Taking true branch
            if (IS_ERR(clk))
            ^
    arch/arm/mach-ep93xx/clock.c:152:3: note: Memory is released
                    kfree(psc);
                    ^~~~~~~~~~
    arch/arm/mach-ep93xx/clock.c:154:2: note: Use of memory after it is freed
            return &psc->hw;
            ^      ~~~~~~~~
 >> arch/arm/mach-ep93xx/clock.c:484:2: warning: Value stored to 'hw' is never read [clang-analyzer-deadcode.DeadStores]
            hw = clk_hw_register_fixed_factor(NULL, "uart", "xtali", 0, 1, clk_uart_div);
            ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 >> arch/arm/mach-ep93xx/clock.c:612:2: warning: Value stored to 'hw' is never read [clang-analyzer-deadcode.DeadStores]
            hw = clk_hw_register_fixed_factor(NULL, "usb_clk", "pll2", 0, 1, clk_usb_div);
            ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +154 arch/arm/mach-ep93xx/clock.c

ff05c0330b9880 Hartley Sweeten 2009-05-07  125
9645ccc7bd7a16 Nikita Shubin   2021-10-18  126  static struct clk_hw *ep93xx_clk_register_gate(const char *name,
9645ccc7bd7a16 Nikita Shubin   2021-10-18  127  				    const char *parent_name,
9645ccc7bd7a16 Nikita Shubin   2021-10-18  128  				    void __iomem *reg,
9645ccc7bd7a16 Nikita Shubin   2021-10-18  129  				    u8 bit_idx)
9645ccc7bd7a16 Nikita Shubin   2021-10-18  130  {
9645ccc7bd7a16 Nikita Shubin   2021-10-18  131  	struct clk_init_data init;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  132  	struct clk_psc *psc;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  133  	struct clk *clk;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  134
9645ccc7bd7a16 Nikita Shubin   2021-10-18  135  	psc = kzalloc(sizeof(*psc), GFP_KERNEL);
9645ccc7bd7a16 Nikita Shubin   2021-10-18  136  	if (!psc)
9645ccc7bd7a16 Nikita Shubin   2021-10-18  137  		return ERR_PTR(-ENOMEM);
9645ccc7bd7a16 Nikita Shubin   2021-10-18  138
9645ccc7bd7a16 Nikita Shubin   2021-10-18  139  	init.name = name;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  140  	init.ops = &clk_ep93xx_gate_ops;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  141  	init.flags = CLK_SET_RATE_PARENT;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  142  	init.parent_names = (parent_name ? &parent_name : NULL);
9645ccc7bd7a16 Nikita Shubin   2021-10-18  143  	init.num_parents = (parent_name ? 1 : 0);
9645ccc7bd7a16 Nikita Shubin   2021-10-18  144
9645ccc7bd7a16 Nikita Shubin   2021-10-18  145  	psc->reg = reg;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  146  	psc->bit_idx = bit_idx;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  147  	psc->hw.init = &init;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  148  	psc->lock = &clk_lock;
9645ccc7bd7a16 Nikita Shubin   2021-10-18  149
9645ccc7bd7a16 Nikita Shubin   2021-10-18  150  	clk = clk_register(NULL, &psc->hw);
9645ccc7bd7a16 Nikita Shubin   2021-10-18  151  	if (IS_ERR(clk))
9645ccc7bd7a16 Nikita Shubin   2021-10-18  152  		kfree(psc);
9645ccc7bd7a16 Nikita Shubin   2021-10-18  153
9645ccc7bd7a16 Nikita Shubin   2021-10-18 @154  	return &psc->hw;
ff05c0330b9880 Hartley Sweeten 2009-05-07  155  }
ff05c0330b9880 Hartley Sweeten 2009-05-07  156

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
  2022-01-20  1:46 ` arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc] kernel test robot
@ 2022-01-24 21:50   ` Nick Desaulniers
  2022-01-25  8:01     ` Nikita Shubin
  0 siblings, 1 reply; 4+ messages in thread
From: Nick Desaulniers @ 2022-01-24 21:50 UTC (permalink / raw)
  To: Nikita Shubin
  Cc: llvm, kbuild-all, Linux Kernel Mailing List, Arnd Bergmann,
	Alexander Sverdlin, kernel test robot, Nathan Huckleberry,
	Philip Li

On Wed, Jan 19, 2022 at 5:46 PM kernel test robot <yujie.liu@intel.com> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   1d1df41c5a33359a00e919d54eaebfb789711fdc
> commit: 9645ccc7bd7a16cd73c3be9dee70cd702b03be37 ep93xx: clock: convert in-place to COMMON_CLK
> date:   3 months ago
> config: arm-randconfig-c002-20220118 (https://download.01.org/0day-ci/archive/20220120/202201200359.lTk9zHg4-lkp@intel.com/config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5f782d25a742302d25ef3c8b84b54f7483c2deb9)
> reproduce (this is a W=1 build):
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # install arm cross compiling tool for clang build
>          # apt-get install binutils-arm-linux-gnueabi
>          # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9645ccc7bd7a16cd73c3be9dee70cd702b03be37
>          git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>          git fetch --no-tags linus master
>          git checkout 9645ccc7bd7a16cd73c3be9dee70cd702b03be37
>          # save the config file to linux build tree
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer

Hey! This check finally caught something that looks legit! Cool to see
0day bot running clang-analyzer, too!
Nikita, can you PTAL?

>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> clang-analyzer warnings: (new ones prefixed by >>)
>
>  >> arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
>             return &psc->hw;
>             ^
>     arch/arm/mach-ep93xx/clock.c:151:2: note: Taking true branch
>             if (IS_ERR(clk))
>             ^
>     arch/arm/mach-ep93xx/clock.c:152:3: note: Memory is released
>                     kfree(psc);
>                     ^~~~~~~~~~
>     arch/arm/mach-ep93xx/clock.c:154:2: note: Use of memory after it is freed
>             return &psc->hw;
>             ^      ~~~~~~~~
>  >> arch/arm/mach-ep93xx/clock.c:484:2: warning: Value stored to 'hw' is never read [clang-analyzer-deadcode.DeadStores]
>             hw = clk_hw_register_fixed_factor(NULL, "uart", "xtali", 0, 1, clk_uart_div);
>             ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  >> arch/arm/mach-ep93xx/clock.c:612:2: warning: Value stored to 'hw' is never read [clang-analyzer-deadcode.DeadStores]
>             hw = clk_hw_register_fixed_factor(NULL, "usb_clk", "pll2", 0, 1, clk_usb_div);
>             ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> vim +154 arch/arm/mach-ep93xx/clock.c
>
> ff05c0330b9880 Hartley Sweeten 2009-05-07  125
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  126  static struct clk_hw *ep93xx_clk_register_gate(const char *name,
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  127                                      const char *parent_name,
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  128                                      void __iomem *reg,
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  129                                      u8 bit_idx)
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  130  {
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  131          struct clk_init_data init;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  132          struct clk_psc *psc;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  133          struct clk *clk;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  134
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  135          psc = kzalloc(sizeof(*psc), GFP_KERNEL);
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  136          if (!psc)
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  137                  return ERR_PTR(-ENOMEM);
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  138
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  139          init.name = name;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  140          init.ops = &clk_ep93xx_gate_ops;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  141          init.flags = CLK_SET_RATE_PARENT;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  142          init.parent_names = (parent_name ? &parent_name : NULL);
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  143          init.num_parents = (parent_name ? 1 : 0);
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  144
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  145          psc->reg = reg;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  146          psc->bit_idx = bit_idx;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  147          psc->hw.init = &init;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  148          psc->lock = &clk_lock;
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  149
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  150          clk = clk_register(NULL, &psc->hw);
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  151          if (IS_ERR(clk))
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  152                  kfree(psc);

probably should `return ERR_CAST(clk);` ?

> 9645ccc7bd7a16 Nikita Shubin   2021-10-18  153
> 9645ccc7bd7a16 Nikita Shubin   2021-10-18 @154          return &psc->hw;
> ff05c0330b9880 Hartley Sweeten 2009-05-07  155  }
> ff05c0330b9880 Hartley Sweeten 2009-05-07  156
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>


-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
  2022-01-24 21:50   ` Nick Desaulniers
@ 2022-01-25  8:01     ` Nikita Shubin
  2022-01-25 21:08       ` Nick Desaulniers
  0 siblings, 1 reply; 4+ messages in thread
From: Nikita Shubin @ 2022-01-25  8:01 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: llvm, kbuild-all, Linux Kernel Mailing List, Arnd Bergmann,
	Alexander Sverdlin, kernel test robot, Nathan Huckleberry,
	Philip Li

Hello Nick,

On Mon, 24 Jan 2022 13:50:02 -0800
Nick Desaulniers <ndesaulniers@google.com> wrote:

> On Wed, Jan 19, 2022 at 5:46 PM kernel test robot
> <yujie.liu@intel.com> wrote:
> >
> > tree:
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > master head:   1d1df41c5a33359a00e919d54eaebfb789711fdc commit:
> > 9645ccc7bd7a16cd73c3be9dee70cd702b03be37 ep93xx: clock: convert
> > in-place to COMMON_CLK date:   3 months ago config:
> > arm-randconfig-c002-20220118
> > (https://download.01.org/0day-ci/archive/20220120/202201200359.lTk9zHg4-lkp@intel.com/config)
> > compiler: clang version 14.0.0
> > (https://github.com/llvm/llvm-project
> > 5f782d25a742302d25ef3c8b84b54f7483c2deb9) reproduce (this is a W=1
> > build): wget
> > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> > -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross
> > compiling tool for clang build # apt-get install
> > binutils-arm-linux-gnueabi #
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9645ccc7bd7a16cd73c3be9dee70cd702b03be37
> > git remote add linus
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master git checkout
> > 9645ccc7bd7a16cd73c3be9dee70cd702b03be37 # save the config file to
> > linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang
> > make.cross ARCH=arm clang-analyzer  
> 
> Hey! This check finally caught something that looks legit! Cool to see
> 0day bot running clang-analyzer, too!
> Nikita, can you PTAL?

Of course, i thought Alexander Sverdlin - already took care of it, he
is really fast and fires patches before i even realize what happens.

Alexander have you already taken care of it ? If not it's my turn to
clear my own mess.

> 
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> >
> > clang-analyzer warnings: (new ones prefixed by >>)
> >  
> >  >> arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory
> >  >> after it is freed [clang-analyzer-unix.Malloc]  
> >             return &psc->hw;
> >             ^
> >     arch/arm/mach-ep93xx/clock.c:151:2: note: Taking true branch
> >             if (IS_ERR(clk))
> >             ^
> >     arch/arm/mach-ep93xx/clock.c:152:3: note: Memory is released
> >                     kfree(psc);
> >                     ^~~~~~~~~~
> >     arch/arm/mach-ep93xx/clock.c:154:2: note: Use of memory after
> > it is freed return &psc->hw;
> >             ^      ~~~~~~~~  
> >  >> arch/arm/mach-ep93xx/clock.c:484:2: warning: Value stored to
> >  >> 'hw' is never read [clang-analyzer-deadcode.DeadStores]  
> >             hw = clk_hw_register_fixed_factor(NULL, "uart",
> > "xtali", 0, 1, clk_uart_div); ^
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >  
> >  >> arch/arm/mach-ep93xx/clock.c:612:2: warning: Value stored to
> >  >> 'hw' is never read [clang-analyzer-deadcode.DeadStores]  
> >             hw = clk_hw_register_fixed_factor(NULL, "usb_clk",
> > "pll2", 0, 1, clk_usb_div); ^
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > vim +154 arch/arm/mach-ep93xx/clock.c
> >
> > ff05c0330b9880 Hartley Sweeten 2009-05-07  125
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  126  static struct
> > clk_hw *ep93xx_clk_register_gate(const char *name, 9645ccc7bd7a16
> > Nikita Shubin   2021-10-18  127
> >  const char *parent_name, 9645ccc7bd7a16 Nikita Shubin   2021-10-18
> >  128                                      void __iomem *reg,
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  129
> >                 u8 bit_idx) 9645ccc7bd7a16 Nikita Shubin
> > 2021-10-18  130  { 9645ccc7bd7a16 Nikita Shubin   2021-10-18  131
> >        struct clk_init_data init; 9645ccc7bd7a16 Nikita Shubin
> > 2021-10-18  132          struct clk_psc *psc; 9645ccc7bd7a16 Nikita
> > Shubin   2021-10-18  133          struct clk *clk; 9645ccc7bd7a16
> > Nikita Shubin   2021-10-18  134 9645ccc7bd7a16 Nikita Shubin
> > 2021-10-18  135          psc = kzalloc(sizeof(*psc), GFP_KERNEL);
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  136          if (!psc)
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  137
> > return ERR_PTR(-ENOMEM); 9645ccc7bd7a16 Nikita Shubin   2021-10-18
> > 138 9645ccc7bd7a16 Nikita Shubin   2021-10-18  139
> > init.name = name; 9645ccc7bd7a16 Nikita Shubin   2021-10-18  140
> >       init.ops = &clk_ep93xx_gate_ops; 9645ccc7bd7a16 Nikita Shubin
> >   2021-10-18  141          init.flags = CLK_SET_RATE_PARENT;
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  142
> > init.parent_names = (parent_name ? &parent_name : NULL);
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  143
> > init.num_parents = (parent_name ? 1 : 0); 9645ccc7bd7a16 Nikita
> > Shubin   2021-10-18  144 9645ccc7bd7a16 Nikita Shubin   2021-10-18
> > 145          psc->reg = reg; 9645ccc7bd7a16 Nikita Shubin
> > 2021-10-18  146          psc->bit_idx = bit_idx; 9645ccc7bd7a16
> > Nikita Shubin   2021-10-18  147          psc->hw.init = &init;
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  148          psc->lock =
> > &clk_lock; 9645ccc7bd7a16 Nikita Shubin   2021-10-18  149
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  150          clk =
> > clk_register(NULL, &psc->hw); 9645ccc7bd7a16 Nikita Shubin
> > 2021-10-18  151          if (IS_ERR(clk)) 9645ccc7bd7a16 Nikita
> > Shubin   2021-10-18  152                  kfree(psc);  
> 
> probably should `return ERR_CAST(clk);` ?
> 
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  153
> > 9645ccc7bd7a16 Nikita Shubin   2021-10-18 @154          return
> > &psc->hw; ff05c0330b9880 Hartley Sweeten 2009-05-07  155  }
> > ff05c0330b9880 Hartley Sweeten 2009-05-07  156
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> >  
> 
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
  2022-01-25  8:01     ` Nikita Shubin
@ 2022-01-25 21:08       ` Nick Desaulniers
  0 siblings, 0 replies; 4+ messages in thread
From: Nick Desaulniers @ 2022-01-25 21:08 UTC (permalink / raw)
  To: Nikita Shubin
  Cc: llvm, kbuild-all, Linux Kernel Mailing List, Arnd Bergmann,
	Alexander Sverdlin, kernel test robot, Nathan Huckleberry,
	Philip Li

On Tue, Jan 25, 2022 at 12:01 AM Nikita Shubin
<nikita.shubin@maquefel.me> wrote:
>
> Hello Nick,
>
> On Mon, 24 Jan 2022 13:50:02 -0800
> Nick Desaulniers <ndesaulniers@google.com> wrote:
>
> > On Wed, Jan 19, 2022 at 5:46 PM kernel test robot
> > <yujie.liu@intel.com> wrote:
> > >
> > > tree:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > master head:   1d1df41c5a33359a00e919d54eaebfb789711fdc commit:
> > > 9645ccc7bd7a16cd73c3be9dee70cd702b03be37 ep93xx: clock: convert
> > > in-place to COMMON_CLK date:   3 months ago config:
> > > arm-randconfig-c002-20220118
> > > (https://download.01.org/0day-ci/archive/20220120/202201200359.lTk9zHg4-lkp@intel.com/config)
> > > compiler: clang version 14.0.0
> > > (https://github.com/llvm/llvm-project
> > > 5f782d25a742302d25ef3c8b84b54f7483c2deb9) reproduce (this is a W=1
> > > build): wget
> > > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> > > -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross
> > > compiling tool for clang build # apt-get install
> > > binutils-arm-linux-gnueabi #
> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9645ccc7bd7a16cd73c3be9dee70cd702b03be37
> > > git remote add linus
> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > git fetch --no-tags linus master git checkout
> > > 9645ccc7bd7a16cd73c3be9dee70cd702b03be37 # save the config file to
> > > linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang
> > > make.cross ARCH=arm clang-analyzer
> >
> > Hey! This check finally caught something that looks legit! Cool to see
> > 0day bot running clang-analyzer, too!
> > Nikita, can you PTAL?
>
> Of course, i thought Alexander Sverdlin - already took care of it, he
> is really fast and fires patches before i even realize what happens.
>
> Alexander have you already taken care of it ? If not it's my turn to
> clear my own mess.

Alexander sent me privately the link to:
https://lore.kernel.org/lkml/20220120133739.4170298-2-alexander.sverdlin@gmail.com/T/

>
> >
> > >
> > > If you fix the issue, kindly add following tag as appropriate
> > > Reported-by: kernel test robot <lkp@intel.com>
> > >
> > >
> > > clang-analyzer warnings: (new ones prefixed by >>)
> > >
> > >  >> arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory
> > >  >> after it is freed [clang-analyzer-unix.Malloc]
> > >             return &psc->hw;
> > >             ^
> > >     arch/arm/mach-ep93xx/clock.c:151:2: note: Taking true branch
> > >             if (IS_ERR(clk))
> > >             ^
> > >     arch/arm/mach-ep93xx/clock.c:152:3: note: Memory is released
> > >                     kfree(psc);
> > >                     ^~~~~~~~~~
> > >     arch/arm/mach-ep93xx/clock.c:154:2: note: Use of memory after
> > > it is freed return &psc->hw;
> > >             ^      ~~~~~~~~
> > >  >> arch/arm/mach-ep93xx/clock.c:484:2: warning: Value stored to
> > >  >> 'hw' is never read [clang-analyzer-deadcode.DeadStores]
> > >             hw = clk_hw_register_fixed_factor(NULL, "uart",
> > > "xtali", 0, 1, clk_uart_div); ^
> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > >  >> arch/arm/mach-ep93xx/clock.c:612:2: warning: Value stored to
> > >  >> 'hw' is never read [clang-analyzer-deadcode.DeadStores]
> > >             hw = clk_hw_register_fixed_factor(NULL, "usb_clk",
> > > "pll2", 0, 1, clk_usb_div); ^
> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > > vim +154 arch/arm/mach-ep93xx/clock.c
> > >
> > > ff05c0330b9880 Hartley Sweeten 2009-05-07  125
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  126  static struct
> > > clk_hw *ep93xx_clk_register_gate(const char *name, 9645ccc7bd7a16
> > > Nikita Shubin   2021-10-18  127
> > >  const char *parent_name, 9645ccc7bd7a16 Nikita Shubin   2021-10-18
> > >  128                                      void __iomem *reg,
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  129
> > >                 u8 bit_idx) 9645ccc7bd7a16 Nikita Shubin
> > > 2021-10-18  130  { 9645ccc7bd7a16 Nikita Shubin   2021-10-18  131
> > >        struct clk_init_data init; 9645ccc7bd7a16 Nikita Shubin
> > > 2021-10-18  132          struct clk_psc *psc; 9645ccc7bd7a16 Nikita
> > > Shubin   2021-10-18  133          struct clk *clk; 9645ccc7bd7a16
> > > Nikita Shubin   2021-10-18  134 9645ccc7bd7a16 Nikita Shubin
> > > 2021-10-18  135          psc = kzalloc(sizeof(*psc), GFP_KERNEL);
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  136          if (!psc)
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  137
> > > return ERR_PTR(-ENOMEM); 9645ccc7bd7a16 Nikita Shubin   2021-10-18
> > > 138 9645ccc7bd7a16 Nikita Shubin   2021-10-18  139
> > > init.name = name; 9645ccc7bd7a16 Nikita Shubin   2021-10-18  140
> > >       init.ops = &clk_ep93xx_gate_ops; 9645ccc7bd7a16 Nikita Shubin
> > >   2021-10-18  141          init.flags = CLK_SET_RATE_PARENT;
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  142
> > > init.parent_names = (parent_name ? &parent_name : NULL);
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  143
> > > init.num_parents = (parent_name ? 1 : 0); 9645ccc7bd7a16 Nikita
> > > Shubin   2021-10-18  144 9645ccc7bd7a16 Nikita Shubin   2021-10-18
> > > 145          psc->reg = reg; 9645ccc7bd7a16 Nikita Shubin
> > > 2021-10-18  146          psc->bit_idx = bit_idx; 9645ccc7bd7a16
> > > Nikita Shubin   2021-10-18  147          psc->hw.init = &init;
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  148          psc->lock =
> > > &clk_lock; 9645ccc7bd7a16 Nikita Shubin   2021-10-18  149
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  150          clk =
> > > clk_register(NULL, &psc->hw); 9645ccc7bd7a16 Nikita Shubin
> > > 2021-10-18  151          if (IS_ERR(clk)) 9645ccc7bd7a16 Nikita
> > > Shubin   2021-10-18  152                  kfree(psc);
> >
> > probably should `return ERR_CAST(clk);` ?
> >
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18  153
> > > 9645ccc7bd7a16 Nikita Shubin   2021-10-18 @154          return
> > > &psc->hw; ff05c0330b9880 Hartley Sweeten 2009-05-07  155  }
> > > ff05c0330b9880 Hartley Sweeten 2009-05-07  156
> > >
> > > ---
> > > 0-DAY CI Kernel Test Service, Intel Corporation
> > > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> > >
> >
> >
>


-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-25 21:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <202201200359.lTk9zHg4-lkp@intel.com>
2022-01-20  1:46 ` arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc] kernel test robot
2022-01-24 21:50   ` Nick Desaulniers
2022-01-25  8:01     ` Nikita Shubin
2022-01-25 21:08       ` Nick Desaulniers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome