All of lore.kernel.org
 help / color / mirror / Atom feed
* [l1k:spi_fixes_part2 8/16] drivers/spi/spi-mt7621.c:354:6: warning: variable 'rs' is used uninitialized whenever 'if' condition is true
@ 2020-11-15 20:42 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-11-15 20:42 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 10345 bytes --]

tree:   https://github.com/l1k/linux spi_fixes_part2
head:   1124444e1890c011ce93035cc73c8df8a206103d
commit: 99e9a80eb65b1787cd055025129a45e24f2fc6ae [8/16] spi: mt7621: Don't leak SPI master in probe error path
config: riscv-randconfig-r006-20201115 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 9a85643cd357e412cff69067bb5c4840e228c2ab)
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 riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://github.com/l1k/linux/commit/99e9a80eb65b1787cd055025129a45e24f2fc6ae
        git remote add l1k https://github.com/l1k/linux
        git fetch --no-tags l1k spi_fixes_part2
        git checkout 99e9a80eb65b1787cd055025129a45e24f2fc6ae
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 

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

All warnings (new ones prefixed by >>):

>> drivers/spi/spi-mt7621.c:354:6: warning: variable 'rs' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (!master) {
               ^~~~~~~
   drivers/spi/spi-mt7621.c:391:24: note: uninitialized use occurs here
           clk_disable_unprepare(rs->clk);
                                 ^~
   drivers/spi/spi-mt7621.c:354:2: note: remove the 'if' if its condition is always false
           if (!master) {
           ^~~~~~~~~~~~~~
   drivers/spi/spi-mt7621.c:328:23: note: initialize the variable 'rs' to silence this warning
           struct mt7621_spi *rs;
                                ^
                                 = NULL
   1 warning generated.

vim +354 drivers/spi/spi-mt7621.c

1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  323  
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  324  static int mt7621_spi_probe(struct platform_device *pdev)
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  325  {
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  326  	const struct of_device_id *match;
cbd66c626e1674 drivers/spi/spi-mt7621.c                Stefan Roese   2019-03-25  327  	struct spi_controller *master;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  328  	struct mt7621_spi *rs;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  329  	void __iomem *base;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  330  	int status = 0;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  331  	struct clk *clk;
46c337872f34bc drivers/staging/mt7621-spi/spi-mt7621.c Stefan Roese   2019-02-01  332  	int ret;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  333  
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  334  	match = of_match_device(mt7621_spi_match, &pdev->dev);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  335  	if (!match)
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  336  		return -EINVAL;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  337  
f88771ca7104e4 drivers/spi/spi-mt7621.c                YueHaibing     2019-09-04  338  	base = devm_platform_ioremap_resource(pdev, 0);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  339  	if (IS_ERR(base))
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  340  		return PTR_ERR(base);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  341  
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  342  	clk = devm_clk_get(&pdev->dev, NULL);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  343  	if (IS_ERR(clk)) {
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  344  		dev_err(&pdev->dev, "unable to get SYS clock, err=%d\n",
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  345  			status);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  346  		return PTR_ERR(clk);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  347  	}
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  348  
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  349  	status = clk_prepare_enable(clk);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  350  	if (status)
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  351  		return status;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  352  
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  353  	master = devm_spi_alloc_master(&pdev->dev, sizeof(*rs));
5ccbce3a0b0e10 drivers/staging/mt7621-spi/spi-mt7621.c Jasminko Dedic 2019-02-04 @354  	if (!master) {
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  355  		dev_info(&pdev->dev, "master allocation failed\n");
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  356  		ret = -ENOMEM;
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  357  		goto err_clk_disable;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  358  	}
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  359  
354ea2ee6d2bc0 drivers/staging/mt7621-spi/spi-mt7621.c Chuanhong Guo  2018-12-06  360  	master->mode_bits = SPI_LSB_FIRST;
cbd66c626e1674 drivers/spi/spi-mt7621.c                Stefan Roese   2019-03-25  361  	master->flags = SPI_CONTROLLER_HALF_DUPLEX;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  362  	master->setup = mt7621_spi_setup;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  363  	master->transfer_one_message = mt7621_spi_transfer_one_message;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  364  	master->bits_per_word_mask = SPI_BPW_MASK(8);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  365  	master->dev.of_node = pdev->dev.of_node;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  366  	master->num_chipselect = 2;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  367  
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  368  	dev_set_drvdata(&pdev->dev, master);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  369  
cbd66c626e1674 drivers/spi/spi-mt7621.c                Stefan Roese   2019-03-25  370  	rs = spi_controller_get_devdata(master);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  371  	rs->base = base;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  372  	rs->clk = clk;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  373  	rs->master = master;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  374  	rs->sys_freq = clk_get_rate(rs->clk);
bf732c6bff5b57 drivers/staging/mt7621-spi/spi-mt7621.c NeilBrown      2018-06-07  375  	rs->pending_write = 0;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  376  	dev_info(&pdev->dev, "sys_freq: %u\n", rs->sys_freq);
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  377  
46c337872f34bc drivers/staging/mt7621-spi/spi-mt7621.c Stefan Roese   2019-02-01  378  	ret = device_reset(&pdev->dev);
46c337872f34bc drivers/staging/mt7621-spi/spi-mt7621.c Stefan Roese   2019-02-01  379  	if (ret) {
46c337872f34bc drivers/staging/mt7621-spi/spi-mt7621.c Stefan Roese   2019-02-01  380  		dev_err(&pdev->dev, "SPI reset failed!\n");
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  381  		goto err_clk_disable;
46c337872f34bc drivers/staging/mt7621-spi/spi-mt7621.c Stefan Roese   2019-02-01  382  	}
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  383  
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  384  	ret = spi_register_controller(master);
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  385  	if (ret)
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  386  		goto err_clk_disable;
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  387  
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  388  	return 0;
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  389  
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  390  err_clk_disable:
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  391  	clk_disable_unprepare(rs->clk);
99e9a80eb65b17 drivers/spi/spi-mt7621.c                Lukas Wunner   2020-11-05  392  	return ret;
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  393  }
1ab7f2a43558b3 drivers/staging/mt7621-spi/spi-mt7621.c John Crispin   2018-03-15  394  

:::::: The code at line 354 was first introduced by commit
:::::: 5ccbce3a0b0e10694f1a62e8b1ce9b46d1809eea staging: mt7621-spi: Clean up comparison to NULL

:::::: TO: Jasminko Dedic <betelge@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34016 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-15 20:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-15 20:42 [l1k:spi_fixes_part2 8/16] drivers/spi/spi-mt7621.c:354:6: warning: variable 'rs' is used uninitialized whenever 'if' condition is true kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.