CC: [email protected] CC: [email protected] CC: "GNU/Weeb Mailing List" <[email protected]> CC: [email protected] TO: Marc Zyngier <[email protected]> CC: Lorenzo Pieralisi <[email protected]>
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android13-5.10 head: fcc2bfb27307c6ab51031df9bae07a3ab5606959 commit: 00a2ac03d0c60813ebf06a8c6f1cdb5b9e92d169 [3142/9999] UPSTREAM: PCI: rcar: Convert to MSI domains :::::: branch date: 10 hours ago :::::: commit date: 7 months ago config: arm-randconfig-c002-20220130 (https://download.01.org/0day-ci/archive/20220202/[email protected]/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 2cdbaca3943a4d6259119f185656328bd3805b68) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/ammarfaizi2/linux-block/commit/00a2ac03d0c60813ebf06a8c6f1cdb5b9e92d169 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android13-5.10 git checkout 00a2ac03d0c60813ebf06a8c6f1cdb5b9e92d169 # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) if (IS_ENABLED(CONFIG_DEBUG_FS)) ^ drivers/gpio/gpio-adnp.c:464:6: note: 'is_irq_controller' is true if (is_irq_controller) { ^~~~~~~~~~~~~~~~~ drivers/gpio/gpio-adnp.c:464:2: note: Taking true branch if (is_irq_controller) { ^ drivers/gpio/gpio-adnp.c:467:9: note: Calling 'adnp_irq_setup' err = adnp_irq_setup(adnp); ^~~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-adnp.c:385:28: note: The result of the left shift is undefined due to shifting by '4294967292', which is greater or equal to the width of type 'int' unsigned int num_regs = 1 << adnp->reg_shift, i; ^ ~~~~~~~~~~~~~~~ 2 warnings generated. Suppressed 2 warnings (2 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. 1 warning generated. Suppressed 1 warnings (1 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. 9 warnings generated. drivers/char/applicom.c:574:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = do_ac_read(i, buf, &st_loc, &mailbox); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/char/applicom.c:574:5: note: Value stored to 'ret' is never read ret = do_ac_read(i, buf, &st_loc, &mailbox); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/char/applicom.c:734:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = -EFAULT; ^ ~~~~~~~ drivers/char/applicom.c:734:4: note: Value stored to 'ret' is never read ret = -EFAULT; ^ ~~~~~~~ drivers/char/applicom.c:755:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = -EFAULT; ^ ~~~~~~~ drivers/char/applicom.c:755:4: note: Value stored to 'ret' is never read ret = -EFAULT; ^ ~~~~~~~ drivers/char/applicom.c:781:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = -EFAULT; ^ ~~~~~~~ drivers/char/applicom.c:781:4: note: Value stored to 'ret' is never read ret = -EFAULT; ^ ~~~~~~~ drivers/char/applicom.c:836:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = -ENOTTY; ^ ~~~~~~~ drivers/char/applicom.c:836:3: note: Value stored to 'ret' is never read ret = -ENOTTY; ^ ~~~~~~~ Suppressed 4 warnings (4 with check filters). 3 warnings generated. drivers/char/ppdev.c:118:15: warning: Value stored to 'minor' during its initialization is never read [clang-analyzer-deadcode.DeadStores] unsigned int minor = iminor(file_inode(file)); ^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ drivers/char/ppdev.c:118:15: note: Value stored to 'minor' during its initialization is never read unsigned int minor = iminor(file_inode(file)); ^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ drivers/char/ppdev.c:196:15: warning: Value stored to 'minor' during its initialization is never read [clang-analyzer-deadcode.DeadStores] unsigned int minor = iminor(file_inode(file)); ^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ drivers/char/ppdev.c:196:15: note: Value stored to 'minor' during its initialization is never read unsigned int minor = iminor(file_inode(file)); ^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ drivers/char/ppdev.c:708:15: warning: Value stored to 'minor' during its initialization is never read [clang-analyzer-deadcode.DeadStores] unsigned int minor = iminor(inode); ^~~~~ ~~~~~~~~~~~~~ drivers/char/ppdev.c:708:15: note: Value stored to 'minor' during its initialization is never read unsigned int minor = iminor(inode); ^~~~~ ~~~~~~~~~~~~~ 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 2 warnings generated. drivers/pci/controller/pci-tegra.c:2252:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = port->pcie->dev; ^~~ ~~~~~~~~~~~~~~~ drivers/pci/controller/pci-tegra.c:2252:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = port->pcie->dev; ^~~ ~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 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. 1 warning generated. drivers/pci/controller/pci-rcar-gen2.c:225:3: warning: Value stored to 'window_size' is never read [clang-analyzer-deadcode.DeadStores] window_size = SZ_256M; ^ drivers/pci/controller/pci-rcar-gen2.c:225:3: note: Value stored to 'window_size' is never read 2 warnings generated. >> drivers/pci/controller/pcie-rcar-host.c:480:17: warning: Value stored to >> 'dev' during its initialization is never read >> [clang-analyzer-deadcode.DeadStores] struct device *dev = pcie->dev; ^~~ ~~~~~~~~~ drivers/pci/controller/pcie-rcar-host.c:480:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = pcie->dev; ^~~ ~~~~~~~~~ Suppressed 1 warnings (1 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. 1 warning generated. drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores] u64 pci_end = cpu_end - entry->offset; ^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read u64 pci_end = cpu_end - entry->offset; ^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. drivers/rapidio/devices/rio_mport_cdev.c:300:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn] return ret; ^ drivers/rapidio/devices/rio_mport_cdev.c:2069:6: note: Left side of '||' is false if (atomic_read(&md->active) == 0) ^ arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read' #define atomic_read(v) READ_ONCE((v)->counter) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:285:3: note: expanded from macro '__native_word' (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \ ^ drivers/rapidio/devices/rio_mport_cdev.c:2069:6: note: Left side of '||' is false if (atomic_read(&md->active) == 0) ^ arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read' #define atomic_read(v) READ_ONCE((v)->counter) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:285:3: note: expanded from macro '__native_word' (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \ ^ drivers/rapidio/devices/rio_mport_cdev.c:2069:6: note: Left side of '||' is true if (atomic_read(&md->active) == 0) ^ arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read' #define atomic_read(v) READ_ONCE((v)->counter) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:286:28: note: expanded from macro '__native_word' sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) ^ drivers/rapidio/devices/rio_mport_cdev.c:2069:6: note: Taking false branch if (atomic_read(&md->active) == 0) ^ arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read' #define atomic_read(v) READ_ONCE((v)->counter) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:323:2: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ include/linux/compiler_types.h:311:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:303:3: note: expanded from macro '__compiletime_assert' if (!(condition)) \ ^ drivers/rapidio/devices/rio_mport_cdev.c:2069:6: note: Loop condition is false. Exiting loop if (atomic_read(&md->active) == 0) ^ arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read' #define atomic_read(v) READ_ONCE((v)->counter) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:323:2: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ include/linux/compiler_types.h:311:2: note: expanded from macro '_compiletime_assert' vim +/dev +480 drivers/pci/controller/pcie-rcar-host.c 581d9434aa56b46 drivers/pci/host/pcie-rcar.c Phil Edworthy 2016-01-05 474 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 475 static irqreturn_t rcar_pcie_msi_irq(int irq, void *data) 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 476 { 78a0d7f2f5a3135 drivers/pci/controller/pcie-rcar-host.c Lad Prabhakar 2020-05-07 477 struct rcar_pcie_host *host = data; 78a0d7f2f5a3135 drivers/pci/controller/pcie-rcar-host.c Lad Prabhakar 2020-05-07 478 struct rcar_pcie *pcie = &host->pcie; 78a0d7f2f5a3135 drivers/pci/controller/pcie-rcar-host.c Lad Prabhakar 2020-05-07 479 struct rcar_msi *msi = &host->msi; 4ef80d72a6f1a37 drivers/pci/host/pcie-rcar.c Bjorn Helgaas 2016-10-10 @480 struct device *dev = pcie->dev; 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 481 unsigned long reg; 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 482 b77188495de64ab drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-06-30 483 reg = rcar_pci_read_reg(pcie, PCIEMSIFR); 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 484 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 485 /* MSI & INTx share an interrupt - we only handle MSI here */ 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 486 if (!reg) 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 487 return IRQ_NONE; 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 488 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 489 while (reg) { 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 490 unsigned int index = find_first_bit(®, 32); a27beb5820d1a52 drivers/pci/controller/pcie-rcar.c Wolfram Sang 2019-03-17 491 unsigned int msi_irq; 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 492 00a2ac03d0c6081 drivers/pci/controller/pcie-rcar-host.c Marc Zyngier 2021-03-30 493 msi_irq = irq_find_mapping(msi->domain->parent, index); a27beb5820d1a52 drivers/pci/controller/pcie-rcar.c Wolfram Sang 2019-03-17 494 if (msi_irq) { a27beb5820d1a52 drivers/pci/controller/pcie-rcar.c Wolfram Sang 2019-03-17 495 generic_handle_irq(msi_irq); 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 496 } else { 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 497 /* Unknown MSI, just clear it */ 4ef80d72a6f1a37 drivers/pci/host/pcie-rcar.c Bjorn Helgaas 2016-10-10 498 dev_dbg(dev, "unexpected MSI\n"); 00a2ac03d0c6081 drivers/pci/controller/pcie-rcar-host.c Marc Zyngier 2021-03-30 499 rcar_pci_write_reg(pcie, BIT(index), PCIEMSIFR); 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 500 } 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 501 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 502 /* see if there's any more pending in this vector */ b77188495de64ab drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-06-30 503 reg = rcar_pci_read_reg(pcie, PCIEMSIFR); 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 504 } 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 505 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 506 return IRQ_HANDLED; 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 507 } 290c1fb35860540 drivers/pci/host/pcie-rcar.c Phil Edworthy 2014-05-12 508 :::::: The code at line 480 was first introduced by commit :::::: 4ef80d72a6f1a379e471960f48e051ab5e102fc0 PCI: rcar: Add local struct device pointers :::::: TO: Bjorn Helgaas <[email protected]> :::::: CC: Bjorn Helgaas <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
