Re: [tty:tty-linus 23/26] drivers/tty/n_gsm.c:939:13: warning: variable 'size' is used uninitialized whenever 'if' condition is false

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

 



On Sat, Apr 23, 2022 at 10:38:35AM +0200, Greg Kroah-Hartman wrote:
> On Sat, Apr 23, 2022 at 07:42:41AM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-linus
> > head:   637674fa40059cddcc3ad2212728965072f62ea3
> > commit: c19ffe00fed6bb423d81406d2a7e5793074c7d83 [23/26] tty: n_gsm: fix invalid use of MSC in advanced option
> > config: hexagon-randconfig-r035-20220422 (https://download.01.org/0day-ci/archive/20220423/202204230704.5MxboEEo-lkp@xxxxxxxxx/config)
> > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 5bd87350a5ae429baf8f373cb226a57b62f87280)
> > 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
> >         # https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git/commit/?id=c19ffe00fed6bb423d81406d2a7e5793074c7d83
> >         git remote add tty https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
> >         git fetch --no-tags tty tty-linus
> >         git checkout c19ffe00fed6bb423d81406d2a7e5793074c7d83
> >         # save the config file
> >         mkdir build_dir && cp config build_dir/.config
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/tty/
> > 
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > 
> > All warnings (new ones prefixed by >>):
> > 
> > >> drivers/tty/n_gsm.c:939:13: warning: variable 'size' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
> >            } else if (dlci->adaption == 2) {
> >                       ^~~~~~~~~~~~~~~~~~~
> >    drivers/tty/n_gsm.c:948:40: note: uninitialized use occurs here
> >            msg = gsm_data_alloc(gsm, dlci->addr, size, gsm->ftype);
> >                                                  ^~~~
> >    drivers/tty/n_gsm.c:939:9: note: remove the 'if' if its condition is always true
> >            } else if (dlci->adaption == 2) {
> >                   ^~~~~~~~~~~~~~~~~~~~~~~~~
> >    drivers/tty/n_gsm.c:934:10: note: initialize the variable 'size' to silence this warning
> >            int size;
> >                    ^
> >                     = 0
> >    1 warning generated.
> > 
> 
> It's not obvious, but this should be fine as adaption is only 1 or 2
> from what I can tell.
> 
> To make the compiler understand this easier, this should probably be an
> enum and use switch statements.  Daniel, want to make that change?

Alternatively, 'return -EINVAL' or something similar in the 'else'
branch of the first if statement? The error message makes it seem like
the function shouldn't continue but it does.

Cheers,
Nathan



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux