:::::: :::::: Manual check reason: "low confidence static check warning: drivers/usb/serial/kl5kusb105.c:520:19: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]" ::::::
BCC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] TO: Himadri Pandya <[email protected]> CC: Johan Hovold <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 80e78fcce86de0288793a0ef0f6acf37656ee4cf commit: 71b20b34afc2e709f3bbce516fbfdd9f042b607a USB: serial: kl5kusb105: use usb_control_msg_recv() and usb_control_msg_send() date: 12 months ago :::::: branch date: 7 hours ago :::::: commit date: 12 months ago config: riscv-randconfig-c006-20220907 (https://download.01.org/0day-ci/archive/20220912/[email protected]/config) compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 1546df49f5a6d09df78f569e4137ddb365a3e827) 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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=71b20b34afc2e709f3bbce516fbfdd9f042b607a git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 71b20b34afc2e709f3bbce516fbfdd9f042b607a # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> clang_analyzer warnings: (new ones prefixed by >>) ^ include/linux/printk.h:446:26: note: expanded from macro 'printk' #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) ^ include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap' __printk_index_emit(_fmt, NULL, NULL); \ ^ include/linux/printk.h:370:3: note: expanded from macro '__printk_index_emit' if (__builtin_constant_p(_fmt) && __builtin_constant_p(_level)) { \ ^ drivers/usb/gadget/legacy/inode.c:1616:2: note: '?' condition is true DBG (dev, "%s enomem\n", __func__); ^ drivers/usb/gadget/legacy/inode.c:243:2: note: expanded from macro 'DBG' xprintk(dev , KERN_DEBUG , fmt , ## args) ^ drivers/usb/gadget/legacy/inode.c:239:2: note: expanded from macro 'xprintk' printk(level "%s: " fmt , shortname , ## args) ^ include/linux/printk.h:446:26: note: expanded from macro 'printk' #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) ^ include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap' __printk_index_emit(_fmt, NULL, NULL); \ ^ include/linux/printk.h:379:12: note: expanded from macro '__printk_index_emit' .fmt = __builtin_constant_p(_fmt) ? (_fmt) : NULL, \ ^ drivers/usb/gadget/legacy/inode.c:1616:2: note: '?' condition is true DBG (dev, "%s enomem\n", __func__); ^ drivers/usb/gadget/legacy/inode.c:243:2: note: expanded from macro 'DBG' xprintk(dev , KERN_DEBUG , fmt , ## args) ^ drivers/usb/gadget/legacy/inode.c:239:2: note: expanded from macro 'xprintk' printk(level "%s: " fmt , shortname , ## args) ^ include/linux/printk.h:446:26: note: expanded from macro 'printk' #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) ^ include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap' __printk_index_emit(_fmt, NULL, NULL); \ ^ include/linux/printk.h:383:14: note: expanded from macro '__printk_index_emit' .level = __builtin_constant_p(_level) ? (_level) : NULL, \ ^ drivers/usb/gadget/legacy/inode.c:1616:2: note: Loop condition is false. Exiting loop DBG (dev, "%s enomem\n", __func__); ^ drivers/usb/gadget/legacy/inode.c:243:2: note: expanded from macro 'DBG' xprintk(dev , KERN_DEBUG , fmt , ## args) ^ drivers/usb/gadget/legacy/inode.c:239:2: note: expanded from macro 'xprintk' printk(level "%s: " fmt , shortname , ## args) ^ include/linux/printk.h:446:26: note: expanded from macro 'printk' #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) ^ include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap' __printk_index_emit(_fmt, NULL, NULL); \ ^ include/linux/printk.h:369:2: note: expanded from macro '__printk_index_emit' do { \ ^ drivers/usb/gadget/legacy/inode.c:1617:2: note: Use of memory after it is freed destroy_ep_files (dev); ^ ~~~ Suppressed 4 warnings (4 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. Suppressed 10 warnings (10 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. Suppressed 10 warnings (10 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 7 warnings generated. drivers/usb/serial/keyspan.c:920:2: warning: Value stored to 'data' is never read [clang-analyzer-deadcode.DeadStores] data = urb->transfer_buffer; ^ ~~~~~~~~~~~~~~~~~~~~ drivers/usb/serial/keyspan.c:920:2: note: Value stored to 'data' is never read data = urb->transfer_buffer; ^ ~~~~~~~~~~~~~~~~~~~~ drivers/usb/serial/keyspan.c:1184:2: warning: Value stored to 'len' is never read [clang-analyzer-deadcode.DeadStores] len = 0; ^ ~ drivers/usb/serial/keyspan.c:1184:2: note: Value stored to 'len' is never read len = 0; ^ ~ Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. >> drivers/usb/serial/kl5kusb105.c:520:19: warning: Assigned value is garbage >> or undefined [clang-analyzer-core.uninitialized.Assign] priv->line_state = line_state; ^ ~~~~~~~~~~ drivers/usb/serial/kl5kusb105.c:509:2: note: 'line_state' declared without an initial value unsigned long line_state; ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/serial/kl5kusb105.c:511:7: note: Calling 'klsi_105_get_line_state' rc = klsi_105_get_line_state(port, &line_state); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/serial/kl5kusb105.c:185:6: note: Assuming 'rc' is not equal to 0 if (rc) { ^~ drivers/usb/serial/kl5kusb105.c:185:2: note: Taking true branch if (rc) { ^ drivers/usb/serial/kl5kusb105.c:186:3: note: Left side of '&&' is true dev_err(&port->dev, "reading line status failed: %d\n", rc); ^ include/linux/dev_printk.h:144:2: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^ include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap' dev_printk_index_emit(level, fmt); \ ^ include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit' printk_index_subsys_emit("%s %s: ", level, fmt) ^ include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit' __printk_index_emit(fmt, level, subsys_fmt_prefix) ^ include/linux/printk.h:370:7: note: expanded from macro '__printk_index_emit' if (__builtin_constant_p(_fmt) && __builtin_constant_p(_level)) { \ ^ drivers/usb/serial/kl5kusb105.c:186:3: note: Taking true branch dev_err(&port->dev, "reading line status failed: %d\n", rc); ^ include/linux/dev_printk.h:144:2: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^ include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap' dev_printk_index_emit(level, fmt); \ ^ include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit' printk_index_subsys_emit("%s %s: ", level, fmt) ^ include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit' __printk_index_emit(fmt, level, subsys_fmt_prefix) ^ include/linux/printk.h:370:3: note: expanded from macro '__printk_index_emit' if (__builtin_constant_p(_fmt) && __builtin_constant_p(_level)) { \ ^ drivers/usb/serial/kl5kusb105.c:186:3: note: '?' condition is true dev_err(&port->dev, "reading line status failed: %d\n", rc); ^ include/linux/dev_printk.h:144:2: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^ include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap' dev_printk_index_emit(level, fmt); \ ^ include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit' printk_index_subsys_emit("%s %s: ", level, fmt) ^ include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit' __printk_index_emit(fmt, level, subsys_fmt_prefix) ^ include/linux/printk.h:379:12: note: expanded from macro '__printk_index_emit' .fmt = __builtin_constant_p(_fmt) ? (_fmt) : NULL, \ ^ drivers/usb/serial/kl5kusb105.c:186:3: note: '?' condition is true dev_err(&port->dev, "reading line status failed: %d\n", rc); ^ include/linux/dev_printk.h:144:2: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^ include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap' dev_printk_index_emit(level, fmt); \ ^ include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit' printk_index_subsys_emit("%s %s: ", level, fmt) ^ include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit' __printk_index_emit(fmt, level, subsys_fmt_prefix) ^ include/linux/printk.h:383:14: note: expanded from macro '__printk_index_emit' .level = __builtin_constant_p(_level) ? (_level) : NULL, \ ^ drivers/usb/serial/kl5kusb105.c:186:3: note: Loop condition is false. Exiting loop dev_err(&port->dev, "reading line status failed: %d\n", rc); ^ include/linux/dev_printk.h:144:2: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^ include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap' dev_printk_index_emit(level, fmt); \ ^ include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit' printk_index_subsys_emit("%s %s: ", level, fmt) ^ include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit' __printk_index_emit(fmt, level, subsys_fmt_prefix) vim +520 drivers/usb/serial/kl5kusb105.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 502 60b33c133ca0b7 Alan Cox 2011-02-14 503 static int klsi_105_tiocmget(struct tty_struct *tty) ^1da177e4c3f41 Linus Torvalds 2005-04-16 504 { 95da310e66ee80 Alan Cox 2008-07-22 505 struct usb_serial_port *port = tty->driver_data; ^1da177e4c3f41 Linus Torvalds 2005-04-16 506 struct klsi_105_private *priv = usb_get_serial_port_data(port); ^1da177e4c3f41 Linus Torvalds 2005-04-16 507 unsigned long flags; ^1da177e4c3f41 Linus Torvalds 2005-04-16 508 int rc; ^1da177e4c3f41 Linus Torvalds 2005-04-16 509 unsigned long line_state; ^1da177e4c3f41 Linus Torvalds 2005-04-16 510 ^1da177e4c3f41 Linus Torvalds 2005-04-16 511 rc = klsi_105_get_line_state(port, &line_state); ^1da177e4c3f41 Linus Torvalds 2005-04-16 512 if (rc < 0) { 194343d9364ea0 Greg Kroah-Hartman 2008-08-20 513 dev_err(&port->dev, 194343d9364ea0 Greg Kroah-Hartman 2008-08-20 514 "Reading line control failed (error = %d)\n", rc); ^1da177e4c3f41 Linus Torvalds 2005-04-16 515 /* better return value? EAGAIN? */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 516 return rc; ^1da177e4c3f41 Linus Torvalds 2005-04-16 517 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 518 ^1da177e4c3f41 Linus Torvalds 2005-04-16 519 spin_lock_irqsave(&priv->lock, flags); ^1da177e4c3f41 Linus Torvalds 2005-04-16 @520 priv->line_state = line_state; ^1da177e4c3f41 Linus Torvalds 2005-04-16 521 spin_unlock_irqrestore(&priv->lock, flags); 1ad7604f69ae3c Greg Kroah-Hartman 2012-09-14 522 dev_dbg(&port->dev, "%s - read line state 0x%lx\n", __func__, line_state); ^1da177e4c3f41 Linus Torvalds 2005-04-16 523 return (int)line_state; ^1da177e4c3f41 Linus Torvalds 2005-04-16 524 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 525 :::::: The code at line 520 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds <[email protected]> :::::: CC: Linus Torvalds <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
