lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 19 Apr 2022 10:23:51 +0800
From:   kernel test robot <lkp@...el.com>
To:     Ingo Molnar <mingo@...nel.org>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org
Subject: [mingo-tip:sched/headers 2061/2356]
 drivers/pinctrl/pinctrl-microchip-sgpio.c:656:39: warning: variable 'flags'
 is uninitialized when used here

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers
head:   af93551cf39027d176f30b9beafc60a4c130998a
commit: abac2ae0fd81750ce0835c0637b6b7fff7c2316a [2061/2356] headers/deps: irq: Optimize <linux/irq.h> dependencies
config: i386-randconfig-a012-20220418 (https://download.01.org/0day-ci/archive/20220419/202204191041.XKFMSrNr-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 429cbac0390654f90bba18a41799464adf31a5ec)
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/mingo/tip.git/commit/?id=abac2ae0fd81750ce0835c0637b6b7fff7c2316a
        git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
        git fetch --no-tags mingo-tip sched/headers
        git checkout abac2ae0fd81750ce0835c0637b6b7fff7c2316a
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpu/drm/panel/ drivers/hwmon/ drivers/iio/afe/ drivers/iio/proximity/ drivers/input/touchscreen/ drivers/mtd/nand/ drivers/phy/cadence/ drivers/pinctrl/ drivers/platform/chrome/ mm/

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

All warnings (new ones prefixed by >>):

   drivers/pinctrl/pinctrl-microchip-sgpio.c:656:2: error: implicit declaration of function 'spin_lock_irqsave' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
           spin_lock_irqsave(&bank->priv->lock, flags);
           ^
   drivers/pinctrl/pinctrl-microchip-sgpio.c:675:2: error: implicit declaration of function 'spin_unlock_irqrestore' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
           spin_unlock_irqrestore(&bank->priv->lock, flags);
           ^
   drivers/pinctrl/pinctrl-microchip-sgpio.c:675:2: note: did you mean 'spin_lock_irqsave'?
   drivers/pinctrl/pinctrl-microchip-sgpio.c:656:2: note: 'spin_lock_irqsave' declared here
           spin_lock_irqsave(&bank->priv->lock, flags);
           ^
>> drivers/pinctrl/pinctrl-microchip-sgpio.c:656:39: warning: variable 'flags' is uninitialized when used here [-Wuninitialized]
           spin_lock_irqsave(&bank->priv->lock, flags);
                                                ^~~~~
   drivers/pinctrl/pinctrl-microchip-sgpio.c:651:21: note: initialize the variable 'flags' to silence this warning
           unsigned long flags;
                              ^
                               = 0
   1 warning and 2 errors generated.


vim +/flags +656 drivers/pinctrl/pinctrl-microchip-sgpio.c

7e5ea974e61c8d Lars Povlsen  2020-11-13  642  
be2dc859abd4d7 Lars Povlsen  2020-12-09  643  static void microchip_sgpio_irq_settype(struct irq_data *data,
be2dc859abd4d7 Lars Povlsen  2020-12-09  644  					int type,
be2dc859abd4d7 Lars Povlsen  2020-12-09  645  					int polarity)
be2dc859abd4d7 Lars Povlsen  2020-12-09  646  {
be2dc859abd4d7 Lars Povlsen  2020-12-09  647  	struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
be2dc859abd4d7 Lars Povlsen  2020-12-09  648  	struct sgpio_bank *bank = gpiochip_get_data(chip);
be2dc859abd4d7 Lars Povlsen  2020-12-09  649  	unsigned int gpio = irqd_to_hwirq(data);
be2dc859abd4d7 Lars Povlsen  2020-12-09  650  	struct sgpio_port_addr addr;
7996c5f5ec7a20 Michael Walle 2022-02-26  651  	unsigned long flags;
be2dc859abd4d7 Lars Povlsen  2020-12-09  652  	u32 ena;
be2dc859abd4d7 Lars Povlsen  2020-12-09  653  
be2dc859abd4d7 Lars Povlsen  2020-12-09  654  	sgpio_pin_to_addr(bank->priv, gpio, &addr);
be2dc859abd4d7 Lars Povlsen  2020-12-09  655  
7996c5f5ec7a20 Michael Walle 2022-02-26 @656  	spin_lock_irqsave(&bank->priv->lock, flags);
7996c5f5ec7a20 Michael Walle 2022-02-26  657  
be2dc859abd4d7 Lars Povlsen  2020-12-09  658  	/* Disable interrupt while changing type */
be2dc859abd4d7 Lars Povlsen  2020-12-09  659  	ena = sgpio_readl(bank->priv, REG_INT_ENABLE, addr.bit);
be2dc859abd4d7 Lars Povlsen  2020-12-09  660  	sgpio_writel(bank->priv, ena & ~BIT(addr.port), REG_INT_ENABLE, addr.bit);
be2dc859abd4d7 Lars Povlsen  2020-12-09  661  
be2dc859abd4d7 Lars Povlsen  2020-12-09  662  	/* Type value spread over 2 registers sets: low, high bit */
be2dc859abd4d7 Lars Povlsen  2020-12-09  663  	sgpio_clrsetbits(bank->priv, REG_INT_TRIGGER, addr.bit,
be2dc859abd4d7 Lars Povlsen  2020-12-09  664  			 BIT(addr.port), (!!(type & 0x1)) << addr.port);
5d5f2919273d10 Lars Povlsen  2021-02-03  665  	sgpio_clrsetbits(bank->priv, REG_INT_TRIGGER, SGPIO_MAX_BITS + addr.bit,
be2dc859abd4d7 Lars Povlsen  2020-12-09  666  			 BIT(addr.port), (!!(type & 0x2)) << addr.port);
be2dc859abd4d7 Lars Povlsen  2020-12-09  667  
be2dc859abd4d7 Lars Povlsen  2020-12-09  668  	if (type == SGPIO_INT_TRG_LEVEL)
be2dc859abd4d7 Lars Povlsen  2020-12-09  669  		sgpio_clrsetbits(bank->priv, REG_INT_POLARITY, addr.bit,
be2dc859abd4d7 Lars Povlsen  2020-12-09  670  				 BIT(addr.port), polarity << addr.port);
be2dc859abd4d7 Lars Povlsen  2020-12-09  671  
be2dc859abd4d7 Lars Povlsen  2020-12-09  672  	/* Possibly re-enable interrupts */
be2dc859abd4d7 Lars Povlsen  2020-12-09  673  	sgpio_writel(bank->priv, ena, REG_INT_ENABLE, addr.bit);
7996c5f5ec7a20 Michael Walle 2022-02-26  674  
7996c5f5ec7a20 Michael Walle 2022-02-26 @675  	spin_unlock_irqrestore(&bank->priv->lock, flags);
be2dc859abd4d7 Lars Povlsen  2020-12-09  676  }
be2dc859abd4d7 Lars Povlsen  2020-12-09  677  

:::::: The code at line 656 was first introduced by commit
:::::: 7996c5f5ec7a20b3f6b8fae93fcf3cb8f1c01743 pinctrl: microchip-sgpio: lock RMW access

:::::: TO: Michael Walle <michael@...le.cc>
:::::: CC: Linus Walleij <linus.walleij@...aro.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ