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]
Message-ID: <202112090049.RctnOUxU-lkp@intel.com>
Date:   Thu, 9 Dec 2021 00:45:07 +0800
From:   kernel test robot <lkp@...el.com>
To:     Arnd Bergmann <arnd@...db.de>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [arnd-playground:randconfig-5.17-next 148/205]
 drivers/spi/spi-mpc52xx.c:441:29: error: invalid use of flexible array
 member

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git randconfig-5.17-next
head:   fdcc9acc26de65e7b1b8cebc3089b7666be25681
commit: 5de8ac6b8ccee6f1f892b4fa6dc16781de0c3ba8 [148/205] replace most of_gpio_get
config: powerpc-randconfig-p001-20211207 (https://download.01.org/0day-ci/archive/20211209/202112090049.RctnOUxU-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.2.0
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/arnd/playground.git/commit/?id=5de8ac6b8ccee6f1f892b4fa6dc16781de0c3ba8
        git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
        git fetch --no-tags arnd-playground randconfig-5.17-next
        git checkout 5de8ac6b8ccee6f1f892b4fa6dc16781de0c3ba8
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/spi/

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

All errors (new ones prefixed by >>):

   drivers/spi/spi-mpc52xx.c: In function 'mpc52xx_spi_probe':
>> drivers/spi/spi-mpc52xx.c:441:29: error: invalid use of flexible array member
     441 |                 ms->gpio_cs = kmalloc_array(ms->gpio_cs_count,
         |                             ^
>> drivers/spi/spi-mpc52xx.c:497:17: error: implicit declaration of function 'gpio_put'; did you mean 'gpiod_put'? [-Werror=implicit-function-declaration]
     497 |                 gpio_put(ms->gpio_cs[i]);
         |                 ^~~~~~~~
         |                 gpiod_put
   cc1: some warnings being treated as errors


vim +441 drivers/spi/spi-mpc52xx.c

42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  377  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  378  /*
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  379   * OF Platform Bus Binding
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  380   */
fd4a319bc933ae drivers/spi/spi-mpc52xx.c Grant Likely       2012-12-07  381  static int mpc52xx_spi_probe(struct platform_device *op)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  382  {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  383  	struct spi_master *master;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  384  	struct mpc52xx_spi *ms;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  385  	void __iomem *regs;
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  386  	u8 ctrl1;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  387  	int rc, i = 0;
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann      2021-11-08  388  	struct gpio_desc *gpio_cs;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  389  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  390  	/* MMIO registers */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  391  	dev_dbg(&op->dev, "probing mpc5200 SPI device\n");
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely       2010-04-13  392  	regs = of_iomap(op->dev.of_node, 0);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  393  	if (!regs)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  394  		return -ENODEV;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  395  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  396  	/* initialize the device */
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  397  	ctrl1 = SPI_CTRL1_SPIE | SPI_CTRL1_SPE | SPI_CTRL1_MSTR;
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  398  	out_8(regs + SPI_CTRL1, ctrl1);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  399  	out_8(regs + SPI_CTRL2, 0x0);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  400  	out_8(regs + SPI_DATADIR, 0xe);	/* Set output pins */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  401  	out_8(regs + SPI_PORTDATA, 0x8);	/* Deassert /SS signal */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  402  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  403  	/* Clear the status register and re-read it to check for a MODF
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  404  	 * failure.  This driver cannot currently handle multiple masters
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  405  	 * on the SPI bus.  This fault will also occur if the SPI signals
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  406  	 * are not connected to any pins (port_config setting) */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  407  	in_8(regs + SPI_STATUS);
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  408  	out_8(regs + SPI_CTRL1, ctrl1);
4a495b1c43ed2e drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  409  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  410  	in_8(regs + SPI_DATA);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  411  	if (in_8(regs + SPI_STATUS) & SPI_STATUS_MODF) {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  412  		dev_err(&op->dev, "mode fault; is port_config correct?\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  413  		rc = -EIO;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  414  		goto err_init;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  415  	}
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  416  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  417  	dev_dbg(&op->dev, "allocating spi_master struct\n");
ac7357ac769e3b drivers/spi/spi-mpc52xx.c Zhiqi Song         2021-05-18  418  	master = spi_alloc_master(&op->dev, sizeof(*ms));
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  419  	if (!master) {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  420  		rc = -ENOMEM;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  421  		goto err_alloc;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  422  	}
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  423  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  424  	master->transfer = mpc52xx_spi_transfer;
d65aea99bd9e1d drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  425  	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
5c5989ccd32c37 drivers/spi/spi-mpc52xx.c Axel Lin           2014-03-28  426  	master->bits_per_word_mask = SPI_BPW_MASK(8);
12b15e83289bc7 drivers/spi/mpc52xx_spi.c Anatolij Gustschin 2010-07-27  427  	master->dev.of_node = op->dev.of_node;
d65aea99bd9e1d drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  428  
24b5a82cf5709a drivers/spi/spi-mpc52xx.c Jingoo Han         2013-05-23  429  	platform_set_drvdata(op, master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  430  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  431  	ms = spi_master_get_devdata(master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  432  	ms->master = master;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  433  	ms->regs = regs;
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely       2010-04-13  434  	ms->irq0 = irq_of_parse_and_map(op->dev.of_node, 0);
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely       2010-04-13  435  	ms->irq1 = irq_of_parse_and_map(op->dev.of_node, 1);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  436  	ms->state = mpc52xx_spi_fsmstate_idle;
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely       2010-04-13  437  	ms->ipb_freq = mpc5xxx_get_bus_frequency(op->dev.of_node);
61c7a080a5a061 drivers/spi/mpc52xx_spi.c Grant Likely       2010-04-13  438  	ms->gpio_cs_count = of_gpio_count(op->dev.of_node);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  439  	if (ms->gpio_cs_count > 0) {
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  440  		master->num_chipselect = ms->gpio_cs_count;
8b6c8955b5dc21 drivers/spi/spi-mpc52xx.c Markus Elfring     2017-01-13 @441  		ms->gpio_cs = kmalloc_array(ms->gpio_cs_count,
8b6c8955b5dc21 drivers/spi/spi-mpc52xx.c Markus Elfring     2017-01-13  442  					    sizeof(*ms->gpio_cs),
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  443  					    GFP_KERNEL);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  444  		if (!ms->gpio_cs) {
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  445  			rc = -ENOMEM;
866c0f25d2dc89 drivers/spi/spi-mpc52xx.c Guenter Roeck      2012-08-18  446  			goto err_alloc_gpio;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  447  		}
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  448  
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  449  		for (i = 0; i < ms->gpio_cs_count; i++) {
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann      2021-11-08  450  			gpio_cs = gpiod_get_index(&op->dev, NULL, i, GPIOD_OUT_LOW);
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann      2021-11-08  451  			if (IS_ERR(gpio_cs)) {
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  452  				dev_err(&op->dev,
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann      2021-11-08  453  					"can't request spi cs gpio #%d on gpio line\n", i);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  454  				goto err_gpio;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  455  			}
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  456  
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  457  			ms->gpio_cs[i] = gpio_cs;
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  458  		}
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang       2009-11-24  459  	}
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  460  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  461  	spin_lock_init(&ms->lock);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  462  	INIT_LIST_HEAD(&ms->queue);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  463  	INIT_WORK(&ms->work, mpc52xx_spi_wq);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  464  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  465  	/* Decide if interrupts can be used */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  466  	if (ms->irq0 && ms->irq1) {
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang       2009-11-24  467  		rc = request_irq(ms->irq0, mpc52xx_spi_irq, 0,
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  468  				  "mpc5200-spi-modf", ms);
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang       2009-11-24  469  		rc |= request_irq(ms->irq1, mpc52xx_spi_irq, 0,
937041e21634ff drivers/spi/mpc52xx_spi.c Wolfram Sang       2009-11-24  470  				  "mpc5200-spi-spif", ms);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  471  		if (rc) {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  472  			free_irq(ms->irq0, ms);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  473  			free_irq(ms->irq1, ms);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  474  			ms->irq0 = ms->irq1 = 0;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  475  		}
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  476  	} else {
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  477  		/* operate in polled mode */
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  478  		ms->irq0 = ms->irq1 = 0;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  479  	}
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  480  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  481  	if (!ms->irq0)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  482  		dev_info(&op->dev, "using polled mode\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  483  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  484  	dev_dbg(&op->dev, "registering spi_master struct\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  485  	rc = spi_register_master(master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  486  	if (rc)
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  487  		goto err_register;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  488  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  489  	dev_info(&ms->master->dev, "registered MPC5200 SPI bus\n");
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  490  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  491  	return rc;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  492  
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  493   err_register:
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  494  	dev_err(&ms->master->dev, "initialization failed\n");
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  495   err_gpio:
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  496  	while (i-- > 0)
5de8ac6b8ccee6 drivers/spi/spi-mpc52xx.c Arnd Bergmann      2021-11-08 @497  		gpio_put(ms->gpio_cs[i]);
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  498  
b8d4e2ce60b632 drivers/spi/mpc52xx_spi.c Luotao Fu          2009-11-13  499  	kfree(ms->gpio_cs);
866c0f25d2dc89 drivers/spi/spi-mpc52xx.c Guenter Roeck      2012-08-18  500   err_alloc_gpio:
866c0f25d2dc89 drivers/spi/spi-mpc52xx.c Guenter Roeck      2012-08-18  501  	spi_master_put(master);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  502   err_alloc:
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  503   err_init:
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  504  	iounmap(regs);
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  505  	return rc;
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  506  }
42bbb70980f372 drivers/spi/mpc52xx_spi.c Grant Likely       2009-11-04  507  

:::::: The code at line 441 was first introduced by commit
:::::: 8b6c8955b5dc21358cb1f67cadc5514d2353375d spi/mpc52xx: Use kmalloc_array() in mpc52xx_spi_probe()

:::::: TO: Markus Elfring <elfring@...rs.sourceforge.net>
:::::: CC: Mark Brown <broonie@...nel.org>

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ