[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kbuild
Subject:    Re: [kbuild:kbuild 2/4] drivers/tty/serial/qcom_geni_serial.c:1313:22: warning: 'drv' may be used un
From:       Masahiro Yamada <yamada.masahiro () socionext ! com>
Date:       2018-10-30 2:47:09
Message-ID: CAK7LNATdwofGuKjHTRTT2oKfBXF69R-R8h4v7nAKVsq5xEXcow () mail ! gmail ! com
[Download RAW message or body]

On Mon, Oct 29, 2018 at 11:36 PM kbuild test robot <lkp@intel.com> wrote:
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git \
>                 kbuild
> head:   94c7dfd01652880ffa336baad8269ee9add8fb01
> commit: 312d61883cf16e7b422caab857035f23a8c68076 [2/4] kernel hacking: add a config \
>                 option to disable compiler auto-inlining
> config: sh-allyesconfig (attached as .config)
> compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O \
> ~/bin/make.cross chmod +x ~/bin/make.cross
> git checkout 312d61883cf16e7b422caab857035f23a8c68076
> # save the attached .config to linux build tree
> GCC_VERSION=7.2.0 make.cross ARCH=sh
> 
> Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
> http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings



This is not a new warning.
It was already fixed by:


commit 2843cbb5d3c467a85112f004a8a9345370760520
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Thu Aug 23 23:30:27 2018 +0200

    tty: serial: qcom_geni_serial: Drop useless check for dev.of_node






> 
> All warnings (new ones prefixed by >>):
> 
> drivers/tty/serial/qcom_geni_serial.c: In function 'qcom_geni_serial_probe':
> > > drivers/tty/serial/qcom_geni_serial.c:1313:22: warning: 'drv' may be used \
> > > uninitialized in this function [-Wmaybe-uninitialized]
> uport->private_data = drv;
> ~~~~~~~~~~~~~~~~~~~~^~~~~
> --
> drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_init_rd':
> > > drivers/net/wireless/ath/ath10k/mac.c:8374:39: warning: 'rd' may be used \
> > > uninitialized in this function [-Wmaybe-uninitialized]
> ar->ath_common.regulatory.current_rd = rd;
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
> In file included from arch/sh/include/asm/string.h:3:0,
> from include/linux/string.h:20,
> from include/linux/bitmap.h:9,
> from include/linux/cpumask.h:12,
> from include/linux/rcupdate.h:44,
> from include/linux/rbtree.h:34,
> from include/linux/skbuff.h:22,
> from include/linux/if_ether.h:23,
> from include/net/mac80211.h:21,
> from drivers/net/wireless/ath/ath10k/mac.h:21,
> from drivers/net/wireless/ath/ath10k/mac.c:19:
> drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_bss_info_changed':
> arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array \
> bounds [-Warray-bounds] : "0" (__dest), "1" (__src), "r" (__src+__n)
> ~~~~~^~~~
> --
> drivers/dma/stm32-mdma.c: In function 'stm32_mdma_setup_xfer':
> > > drivers/dma/stm32-mdma.c:781:6: warning: 'ccr' may be used uninitialized in \
> > > this function [-Wmaybe-uninitialized]
> ccr &= ~STM32_MDMA_CCR_IRQ_MASK;
> ^~
> 
> vim +/drv +1313 drivers/tty/serial/qcom_geni_serial.c
> 
> c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1251
> c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1252  static int \
> qcom_geni_serial_probe(struct platform_device *pdev) c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1253  { c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1254          int ret = 0; c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1255          int line = -1; c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1256          struct qcom_geni_serial_port *port; c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1257          struct uart_port *uport; c4f528795 \
> Karthikeyan Ramasubramanian 2018-03-14  1258          struct resource *res; \
> 066cd1c4e Karthikeyan Ramasubramanian 2018-04-06  1259          int irq; 8a8a66a1a \
> Girish Mahadevan            2018-07-13  1260          bool console = false; \
> 8a8a66a1a Girish Mahadevan            2018-07-13  1261          struct uart_driver \
> *drv; 8a8a66a1a Girish Mahadevan            2018-07-13  1262
> 8a8a66a1a Girish Mahadevan            2018-07-13  1263          if \
> (of_device_is_compatible(pdev->dev.of_node, "qcom,geni-debug-uart")) 8a8a66a1a \
> Girish Mahadevan            2018-07-13  1264                  console = true; \
> c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1265 8a8a66a1a Girish Mahadevan   \
> 2018-07-13  1266          if (pdev->dev.of_node) { 8a8a66a1a Girish Mahadevan       \
> 2018-07-13  1267                  if (console) { 8a8a66a1a Girish Mahadevan         \
> 2018-07-13  1268                          drv = &qcom_geni_console_driver; \
> c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1269                          \
> line = of_alias_get_id(pdev->dev.of_node, "serial"); 8a8a66a1a Girish Mahadevan     \
> 2018-07-13  1270                  } else { 8a8a66a1a Girish Mahadevan            \
> 2018-07-13  1271                          drv = &qcom_geni_uart_driver; 8a8a66a1a \
> Girish Mahadevan            2018-07-13  1272                          line = \
> of_alias_get_id(pdev->dev.of_node, "hsuart"); 8a8a66a1a Girish Mahadevan            \
> 2018-07-13  1273                  } 8a8a66a1a Girish Mahadevan            \
> 2018-07-13  1274          } c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1275
> 8a8a66a1a Girish Mahadevan            2018-07-13  1276          port = \
> get_port_from_line(line, console); c4f528795 Karthikeyan Ramasubramanian 2018-03-14 \
> 1277          if (IS_ERR(port)) { 6a10635e9 Karthikeyan Ramasubramanian 2018-05-03  \
> 1278                  dev_err(&pdev->dev, "Invalid line %d\n", line); 6a10635e9 \
> Karthikeyan Ramasubramanian 2018-05-03  1279                  return PTR_ERR(port); \
> c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1280          } c4f528795 \
> Karthikeyan Ramasubramanian 2018-03-14  1281 c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1282          uport = &port->uport; c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1283          /* Don't allow 2 drivers to access the \
> same port */ c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1284          if \
> (uport->private_data) c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1285        \
> return -ENODEV; c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1286
> c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1287          uport->dev = \
> &pdev->dev; c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1288          \
> port->se.dev = &pdev->dev; c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1289   \
> port->se.wrapper = dev_get_drvdata(pdev->dev.parent); c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1290          port->se.clk = devm_clk_get(&pdev->dev, \
> "se"); c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1291          if \
> (IS_ERR(port->se.clk)) { c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1292     \
> ret = PTR_ERR(port->se.clk); c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1293 \
> dev_err(&pdev->dev, "Err getting SE Core clk %d\n", ret); c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1294                  return ret; c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1295          } c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1296 c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1297          \
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 7693b331d Wei Yongjun         \
> 2018-03-22  1298          if (!res) 7693b331d Wei Yongjun                 \
> 2018-03-22  1299                  return -EINVAL; c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1300          uport->mapbase = res->start; c4f528795 \
> Karthikeyan Ramasubramanian 2018-03-14  1301 c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1302          port->tx_fifo_depth = DEF_FIFO_DEPTH_WORDS; c4f528795 \
> Karthikeyan Ramasubramanian 2018-03-14  1303          port->rx_fifo_depth = \
> DEF_FIFO_DEPTH_WORDS; c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1304        \
> port->tx_fifo_width = DEF_FIFO_WIDTH_BITS; c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1305 066cd1c4e Karthikeyan Ramasubramanian 2018-04-06  1306          \
> irq = platform_get_irq(pdev, 0); 066cd1c4e Karthikeyan Ramasubramanian 2018-04-06  \
> 1307          if (irq < 0) { 066cd1c4e Karthikeyan Ramasubramanian 2018-04-06  1308 \
> dev_err(&pdev->dev, "Failed to get IRQ %d\n", irq); 066cd1c4e Karthikeyan \
> Ramasubramanian 2018-04-06  1309                  return irq; c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1310          } 066cd1c4e Karthikeyan Ramasubramanian \
> 2018-04-06  1311          uport->irq = irq; c4f528795 Karthikeyan Ramasubramanian \
> 2018-03-14  1312 8a8a66a1a Girish Mahadevan            2018-07-13 @1313          \
> uport->private_data = drv; c4f528795 Karthikeyan Ramasubramanian 2018-03-14  1314   \
> platform_set_drvdata(pdev, port); 8a8a66a1a Girish Mahadevan            2018-07-13  \
> 1315          port->handle_rx = console ? handle_rx_console : handle_rx_uart; \
> 8a8a66a1a Girish Mahadevan            2018-07-13  1316          if (!console) \
> 8a8a66a1a Girish Mahadevan            2018-07-13  1317                  \
> device_create_file(uport->dev, &dev_attr_loopback); 8a8a66a1a Girish Mahadevan      \
> 2018-07-13  1318          return uart_add_one_port(drv, uport); c4f528795 \
> Karthikeyan Ramasubramanian 2018-03-14  1319  } c4f528795 Karthikeyan \
> Ramasubramanian 2018-03-14  1320 
> > > > > > > The code at line 1313 was first introduced by commit
> > > > > > > 8a8a66a1a18a1dbd213bee460bcedb1361abc7ff tty: serial: qcom_geni_serial: \
> > > > > > > Add support for flow control
> 
> > > > > > > TO: Girish Mahadevan <girishm@codeaurora.org>
> > > > > > > CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation



-- 
Best Regards
Masahiro Yamada


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic