CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: "GNU/Weeb Mailing List" <[email protected]>
CC: [email protected]
TO: Mark Brown <[email protected]>

tree:   https://github.com/ammarfaizi2/linux-block next/linux-next/master
head:   44948bd49d878dad6c9707e34f4a06df73c3a800
commit: 15aa3a056caa5192fe614cacebf054634b4c5e90 [378/379] Fix up more mismerges
:::::: branch date: 26 hours ago
:::::: commit date: 27 hours ago
config: x86_64-randconfig-c007 
(https://download.01.org/0day-ci/archive/20220226/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
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://github.com/ammarfaizi2/linux-block/commit/15aa3a056caa5192fe614cacebf054634b4c5e90
        git remote add ammarfaizi2-block 
https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block next/linux-next/master
        git checkout 15aa3a056caa5192fe614cacebf054634b4c5e90
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 
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 >>)
   drivers/pinctrl/intel/pinctrl-intel.c:1777:15: note: Value stored to 'n' 
during its initialization is never read
           unsigned int n = reg / sizeof(u32);
                        ^   ~~~~~~~~~~~~~~~~~
   drivers/pinctrl/intel/pinctrl-intel.c:1778:17: warning: Value stored to 
'dev' during its initialization is never read 
[clang-analyzer-deadcode.DeadStores]
           struct device *dev = pctrl->dev;
                          ^~~   ~~~~~~~~~~
   drivers/pinctrl/intel/pinctrl-intel.c:1778:17: note: Value stored to 'dev' 
during its initialization is never read
           struct device *dev = pctrl->dev;
                          ^~~   ~~~~~~~~~~
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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/hwmon/f71882fg.c:1801:4: warning: Division by zero 
[clang-analyzer-core.DivideZero]
                           / fan_from_reg(data->fan_full_speed[nr]);
   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/f71882fg.c:1795:6: note: Assuming the condition is false
           if (data->pwm_enable & (1 << (2 * nr)))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/f71882fg.c:1795:2: note: Taking false branch
           if (data->pwm_enable & (1 << (2 * nr)))
           ^
   drivers/hwmon/f71882fg.c:1801:6: note: Calling 'fan_from_reg'
                           / fan_from_reg(data->fan_full_speed[nr]);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/f71882fg.c:1148:9: note: Assuming 'reg' is 0
           return reg ? (1500000 / reg) : 0;
                  ^~~
   drivers/hwmon/f71882fg.c:1148:9: note: '?' condition is false
   drivers/hwmon/f71882fg.c:1148:2: note: Returning zero
           return reg ? (1500000 / reg) : 0;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/f71882fg.c:1801:6: note: Returning from 'fan_from_reg'
                           / fan_from_reg(data->fan_full_speed[nr]);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/f71882fg.c:1801:4: note: Division by zero
                           / fan_from_reg(data->fan_full_speed[nr]);
   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 7 warnings (7 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.
   Suppressed 7 warnings (7 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.
   8 warnings generated.
   mm/swap_state.c:165:9: warning: Value stored to 'entry' during its 
initialization is never read [clang-analyzer-deadcode.DeadStores]
                   void *entry = xas_store(&xas, shadow);
                         ^~~~~   ~~~~~~~~~~~~~~~~~~~~~~~
   mm/swap_state.c:165:9: note: Value stored to 'entry' during its 
initialization is never read
                   void *entry = xas_store(&xas, shadow);
                         ^~~~~   ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 7 warnings (7 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.
   mm/swapfile.c:533:28: warning: Value stored to 'ci' during its 
initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct swap_cluster_info *ci = si->cluster_info + idx;
                                     ^~   ~~~~~~~~~~~~~~~~~~~~~~
   mm/swapfile.c:533:28: note: Value stored to 'ci' during its initialization 
is never read
           struct swap_cluster_info *ci = si->cluster_info + idx;
                                     ^~   ~~~~~~~~~~~~~~~~~~~~~~
   mm/swapfile.c:1312:2: warning: Value stored to 'count' is never read 
[clang-analyzer-deadcode.DeadStores]
           count = p->swap_map[offset];
           ^       ~~~~~~~~~~~~~~~~~~~
   mm/swapfile.c:1312:2: note: Value stored to 'count' is never read
           count = p->swap_map[offset];
           ^       ~~~~~~~~~~~~~~~~~~~
   Suppressed 7 warnings (7 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.
   Suppressed 6 warnings (6 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.
   Suppressed 6 warnings (6 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.
   Suppressed 7 warnings (6 in non-user code, 1 with check filters).
   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.
>> mm/sparse-vmemmap.c:747:17: warning: Value stored to 'next' during its 
>> initialization is never read [clang-analyzer-deadcode.DeadStores]
                   unsigned long next = addr, last = addr + size;
                                 ^~~~   ~~~~
   mm/sparse-vmemmap.c:747:17: note: Value stored to 'next' during its 
initialization is never read
                   unsigned long next = addr, last = addr + size;
                                 ^~~~   ~~~~
   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.
   14 warnings generated.
   drivers/block/aoe/aoecmd.c:152:13: warning: Although the value stored to 
'lba' is used in the enclosing expression, the value is never actually read 
from 'lba' [clang-analyzer-deadcode.DeadStores]
           ah->lba5 = lba >>= 8;
                      ^       ~
   drivers/block/aoe/aoecmd.c:152:13: note: Although the value stored to 'lba' 
is used in the enclosing expression, the value is never actually read from 'lba'
           ah->lba5 = lba >>= 8;
                      ^       ~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   arch/x86/include/asm/paravirt.h:55:2: warning: Assigned value is garbage or 
undefined [clang-analyzer-core.uninitialized.Assign]
           PVOP_VCALL0(cpu.io_delay);
           ^
   arch/x86/include/asm/paravirt_types.h:512:2: note: expanded from macro 
'PVOP_VCALL0'
           __PVOP_VCALL(op)
           ^
   arch/x86/include/asm/paravirt_types.h:492:8: note: expanded from macro 
'__PVOP_VCALL'
           (void)____PVOP_CALL(, op, CLBR_ANY, PVOP_VCALL_CLOBBERS,        \
                 ^
   arch/x86/include/asm/paravirt_types.h:447:3: note: expanded from macro 
'____PVOP_CALL'
                   PVOP_CALL_ARGS;                                         \
                   ^
   arch/x86/include/asm/paravirt_types.h:405:16: note: expanded from macro 
'PVOP_CALL_ARGS'
           unsigned long __edi = __edi, __esi = __esi,             \
                         ^
   drivers/usb/host/pci-quirks.c:509:2: note: Calling 'usb_amd_quirk_pll'
           usb_amd_quirk_pll(0);
           ^~~~~~~~~~~~~~~~~~~~
   drivers/usb/host/pci-quirks.c:343:12: note: 'disable' is 0
           u32 bit = disable ? 0 : 1;
                     ^~~~~~~
   drivers/usb/host/pci-quirks.c:343:12: note: '?' condition is false
   drivers/usb/host/pci-quirks.c:346:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_irqsave(&amd_lock, flags);
           ^
   include/linux/spinlock.h:384:2: note: expanded from macro 'spin_lock_irqsave'
           raw_spin_lock_irqsave(spinlock_check(lock), flags);     \
           ^
   include/linux/spinlock.h:240:2: note: expanded from macro 
'raw_spin_lock_irqsave'
           do {                                            \
           ^
   drivers/usb/host/pci-quirks.c:346:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_irqsave(&amd_lock, flags);
           ^
   include/linux/spinlock.h:382:43: note: expanded from macro 
'spin_lock_irqsave'
   #define spin_lock_irqsave(lock, flags)                          \
                                                                   ^
   drivers/usb/host/pci-quirks.c:348:6: note: 'disable' is 0
           if (disable) {
               ^~~~~~~
   drivers/usb/host/pci-quirks.c:348:2: note: Taking false branch
           if (disable) {
           ^
   drivers/usb/host/pci-quirks.c:356:7: note: Assuming field 'isoc_reqs' is <= 0
                   if (amd_chipset.isoc_reqs > 0) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/host/pci-quirks.c:356:3: note: Taking false branch
                   if (amd_chipset.isoc_reqs > 0) {
                   ^
   drivers/usb/host/pci-quirks.c:362:6: note: Assuming field 'gen' is equal to 
AMD_CHIPSET_SB800
           if (amd_chipset.sb_type.gen == AMD_CHIPSET_SB800 ||
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/host/pci-quirks.c:362:51: note: Left side of '||' is true
           if (amd_chipset.sb_type.gen == AMD_CHIPSET_SB800 ||
                                                            ^
   drivers/usb/host/pci-quirks.c:365:3: note: Calling 'outb_p'
                   outb_p(AB_REG_BAR_LOW, 0xcd6);
                   ^
   arch/x86/include/asm/io.h:337:16: note: expanded from macro 'outb_p'
   #define outb_p outb_p
                  ^
   arch/x86/include/asm/io.h:320:1: note: Calling 'slow_down_io'
   BUILDIO(b, b, char)
   ^
   arch/x86/include/asm/io.h:278:2: note: expanded from macro 'BUILDIO'
           slow_down_io();                                                 \
           ^~~~~~~~~~~~~~
   arch/x86/include/asm/paravirt.h:55:2: note: Assigned value is garbage or 
undefined

vim +/next +747 mm/sparse-vmemmap.c

69543e15fc8fb75 Joao Martins      2022-02-24  723  
69543e15fc8fb75 Joao Martins      2022-02-24  724  static int __meminit 
vmemmap_populate_compound_pages(unsigned long start_pfn,
69543e15fc8fb75 Joao Martins      2022-02-24  725                               
                     unsigned long start,
69543e15fc8fb75 Joao Martins      2022-02-24  726                               
                     unsigned long end, int node,
69543e15fc8fb75 Joao Martins      2022-02-24  727                               
                     struct dev_pagemap *pgmap)
69543e15fc8fb75 Joao Martins      2022-02-24  728  {
69543e15fc8fb75 Joao Martins      2022-02-24  729       unsigned long size, 
addr;
69543e15fc8fb75 Joao Martins      2022-02-24  730       pte_t *pte;
69543e15fc8fb75 Joao Martins      2022-02-24  731       int rc;
69543e15fc8fb75 Joao Martins      2022-02-24  732  
69543e15fc8fb75 Joao Martins      2022-02-24  733       if 
(reuse_compound_section(start_pfn, pgmap)) {
69543e15fc8fb75 Joao Martins      2022-02-24  734               pte = 
compound_section_tail_page(start);
4076bbc93eda6e1 Joao Martins      2022-02-24  735               if (!pte)
4076bbc93eda6e1 Joao Martins      2022-02-24  736                       return 
-ENOMEM;
69543e15fc8fb75 Joao Martins      2022-02-24  737  
69543e15fc8fb75 Joao Martins      2022-02-24  738               /*
69543e15fc8fb75 Joao Martins      2022-02-24  739                * Reuse the 
page that was populated in the prior iteration
69543e15fc8fb75 Joao Martins      2022-02-24  740                * with just 
tail struct pages.
69543e15fc8fb75 Joao Martins      2022-02-24  741                */
69543e15fc8fb75 Joao Martins      2022-02-24  742               return 
vmemmap_populate_range(start, end, node, pte_page(*pte));
69543e15fc8fb75 Joao Martins      2022-02-24  743       }
69543e15fc8fb75 Joao Martins      2022-02-24  744  
69543e15fc8fb75 Joao Martins      2022-02-24  745       size = min(end - start, 
pgmap_vmemmap_nr(pgmap) * sizeof(struct page));
69543e15fc8fb75 Joao Martins      2022-02-24  746       for (addr = start; addr 
< end; addr += size) {
69543e15fc8fb75 Joao Martins      2022-02-24 @747               unsigned long 
next = addr, last = addr + size;
69543e15fc8fb75 Joao Martins      2022-02-24  748  
69543e15fc8fb75 Joao Martins      2022-02-24  749               /* Populate the 
head page vmemmap page */
69543e15fc8fb75 Joao Martins      2022-02-24  750               pte = 
vmemmap_populate_address(addr, node, NULL, NULL);
69543e15fc8fb75 Joao Martins      2022-02-24  751               if (!pte)
69543e15fc8fb75 Joao Martins      2022-02-24  752                       return 
-ENOMEM;
69543e15fc8fb75 Joao Martins      2022-02-24  753  
69543e15fc8fb75 Joao Martins      2022-02-24  754               /* Populate the 
tail pages vmemmap page */
69543e15fc8fb75 Joao Martins      2022-02-24  755               next = addr + 
PAGE_SIZE;
69543e15fc8fb75 Joao Martins      2022-02-24  756               pte = 
vmemmap_populate_address(next, node, NULL, NULL);
69543e15fc8fb75 Joao Martins      2022-02-24  757               if (!pte)
69543e15fc8fb75 Joao Martins      2022-02-24  758                       return 
-ENOMEM;
69543e15fc8fb75 Joao Martins      2022-02-24  759  
69543e15fc8fb75 Joao Martins      2022-02-24  760               /*
69543e15fc8fb75 Joao Martins      2022-02-24  761                * Reuse the 
previous page for the rest of tail pages
69543e15fc8fb75 Joao Martins      2022-02-24  762                * See layout 
diagram in Documentation/vm/vmemmap_dedup.rst
69543e15fc8fb75 Joao Martins      2022-02-24  763                */
69543e15fc8fb75 Joao Martins      2022-02-24  764               next += 
PAGE_SIZE;
69543e15fc8fb75 Joao Martins      2022-02-24  765               rc = 
vmemmap_populate_range(next, last, node, pte_page(*pte));
69543e15fc8fb75 Joao Martins      2022-02-24  766               if (rc)
69543e15fc8fb75 Joao Martins      2022-02-24  767                       return 
-ENOMEM;
8f6aac419bd590f Christoph Lameter 2007-10-16  768       }
29c71111d055738 Andy Whitcroft    2007-10-16  769  
29c71111d055738 Andy Whitcroft    2007-10-16  770       return 0;
8f6aac419bd590f Christoph Lameter 2007-10-16  771  }
8f6aac419bd590f Christoph Lameter 2007-10-16  772  

:::::: The code at line 747 was first introduced by commit
:::::: 69543e15fc8fb75dac97bd88442acbcd8d016704 mm/sparse-vmemmap: improve 
memory savings for compound devmaps

:::::: TO: Joao Martins <[email protected]>
:::::: CC: Mark Brown <[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]

Reply via email to