CC: [email protected]
CC: [email protected]
CC: "Darrick J. Wong" <[email protected]>
CC: [email protected]
TO: "Darrick J. Wong" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git 
log-recovery-defer-capture
head:   a9ba97129f384fff0a4ac1ff3e2c4b455ea77c88
commit: 5b92b6afccb0b8ef73bda8fd5720bfdbd7b3153f [54/87] xfs: implement live 
quotacheck inode scan
:::::: branch date: 5 weeks ago
:::::: commit date: 5 weeks ago
config: arm-randconfig-c002-20211031 
(https://download.01.org/0day-ci/archive/20211126/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
d321548c3ce987f4f21350ba1c81fdb5d4354224)
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://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=5b92b6afccb0b8ef73bda8fd5720bfdbd7b3153f
        git remote add djwong-xfs 
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
        git fetch --no-tags djwong-xfs log-recovery-defer-capture
        git checkout 5b92b6afccb0b8ef73bda8fd5720bfdbd7b3153f
        # 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 >>)
   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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   18 warnings generated.
   drivers/mfd/tps65010.c:650:5: warning: Value stored to 'status' is never 
read [clang-analyzer-deadcode.DeadStores]
                                   status = 0;
                                   ^        ~
   drivers/mfd/tps65010.c:650:5: note: Value stored to 'status' is never read
                                   status = 0;
                                   ^        ~
   Suppressed 17 warnings (17 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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   18 warnings generated.
   Suppressed 18 warnings (18 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.
   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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   4 warnings generated.
   drivers/input/touchscreen/cyttsp4_core.c:806:17: warning: Value stored to 
'dev' during its initialization is never read 
[clang-analyzer-deadcode.DeadStores]
           struct device *dev = &md->input->dev;
                          ^~~   ~~~~~~~~~~~~~~~
   drivers/input/touchscreen/cyttsp4_core.c:806:17: note: Value stored to 'dev' 
during its initialization is never read
           struct device *dev = &md->input->dev;
                          ^~~   ~~~~~~~~~~~~~~~
   drivers/input/touchscreen/cyttsp4_core.c:990:2: warning: Value stored to 
'hst_mode' is never read [clang-analyzer-deadcode.DeadStores]
           hst_mode = si->xy_mode[CY_REG_BASE];
           ^          ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/cyttsp4_core.c:990:2: note: Value stored to 
'hst_mode' is never read
           hst_mode = si->xy_mode[CY_REG_BASE];
           ^          ~~~~~~~~~~~~~~~~~~~~~~~~
   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.
   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.
   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.
   18 warnings generated.
   drivers/mtd/nftlcore.c:334:30: warning: The left operand of '!=' is a 
garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
                           if (BlockLastState[block] != SECTOR_FREE &&
                               ~~~~~~~~~~~~~~~~~~~~~ ^
   drivers/mtd/nftlcore.c:250:6: note: Assuming 'thisEUN' is not equal to 
BLOCK_NIL
           if (thisEUN == BLOCK_NIL) {
               ^~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nftlcore.c:250:2: note: Taking false branch
           if (thisEUN == BLOCK_NIL) {
           ^
   drivers/mtd/nftlcore.c:261:9: note: Assuming 'thisEUN' is > field 'lastEUN'
           while (thisEUN <= nftl->lastEUN ) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nftlcore.c:261:2: note: Loop condition is false. Execution 
continues on line 325
           while (thisEUN <= nftl->lastEUN ) {
           ^
   drivers/mtd/nftlcore.c:325:6: note: 'inplace' is 1
           if (inplace) {
               ^~~~~~~
   drivers/mtd/nftlcore.c:325:2: note: Taking true branch
           if (inplace) {
           ^
   drivers/mtd/nftlcore.c:333:8: note: The value 0 is assigned to 'block'
                   for (block = 0; block < nftl->EraseSize / 512 ; block++) {
                        ^~~~~~~~~
   drivers/mtd/nftlcore.c:333:19: note: Assuming the condition is true
                   for (block = 0; block < nftl->EraseSize / 512 ; block++) {
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nftlcore.c:333:3: note: Loop condition is true.  Entering loop 
body
                   for (block = 0; block < nftl->EraseSize / 512 ; block++) {
                   ^
   drivers/mtd/nftlcore.c:334:30: note: The left operand of '!=' is a garbage 
value
                           if (BlockLastState[block] != SECTOR_FREE &&
                               ~~~~~~~~~~~~~~~~~~~~~ ^
   Suppressed 17 warnings (17 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.
   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.
   3 warnings generated.
   drivers/mtd/inftlcore.c:537:4: warning: Value stored to 'thisEUN' is never 
read [clang-analyzer-deadcode.DeadStores]
                           thisEUN = INFTL_makefreeblock(inftl, block);
                           ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/inftlcore.c:537:4: note: Value stored to 'thisEUN' is never read
                           thisEUN = INFTL_makefreeblock(inftl, block);
                           ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   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.
   19 warnings generated.
>> fs/xfs/xfs_inode.c:3817:20: warning: Value stored to 'ifp' during its 
>> initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct xfs_ifork        *ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);
                                    ^~~
   fs/xfs/xfs_inode.c:3817:20: note: Value stored to 'ifp' during its 
initialization is never read
           struct xfs_ifork        *ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);
                                    ^~~
   Suppressed 18 warnings (18 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.
   18 warnings generated.
   Suppressed 18 warnings (18 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.
   18 warnings generated.
   Suppressed 18 warnings (18 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.
   18 warnings generated.
   Suppressed 18 warnings (18 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.
   18 warnings generated.
   Suppressed 18 warnings (18 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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   18 warnings generated.
   Suppressed 18 warnings (18 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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   17 warnings generated.
   Suppressed 17 warnings (17 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.
   18 warnings generated.
   drivers/input/touchscreen/surface3_spi.c:28:8: warning: Excessive padding in 
'struct surface3_ts_data' (96 padding bytes, where 32 is optimal). 
   Optimal fields order: 
   rd_buf, 
   spi, 
   input_dev, 
   pen_input_dev, 
   pen_tool, 
   gpiod_rst, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct surface3_ts_data {
   ~~~~~~~^~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/surface3_spi.c:28:8: note: Excessive padding in 
'struct surface3_ts_data' (96 padding bytes, where 32 is optimal). Optimal 
fields order: rd_buf, spi, input_dev, pen_input_dev, pen_tool, gpiod_rst, 
consider reordering the fields or adding explicit padding members
   struct surface3_ts_data {
   ~~~~~~~^~~~~~~~~~~~~~~~~~
   Suppressed 17 warnings (17 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.
   4 warnings generated.
   drivers/input/touchscreen/ti_am335x_tsc.c:158:2: warning: Value stored to 
'config' is never read [clang-analyzer-deadcode.DeadStores]
           config = 0;
           ^        ~
   drivers/input/touchscreen/ti_am335x_tsc.c:158:2: note: Value stored to 
'config' is never read
           config = 0;
           ^        ~
   drivers/input/touchscreen/ti_am335x_tsc.c:251:8: warning: Division by zero 
[clang-analyzer-core.DivideZero]
                   ysum /= creads;
                        ^
   drivers/input/touchscreen/ti_am335x_tsc.c:277:11: note: Calling 'titsc_readl'
           status = titsc_readl(ts_dev, REG_RAWIRQSTATUS);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:65:2: note: Returning without 
writing to 'ts->coordinate_readouts'
           return readl(ts->mfd_tscadc->tscadc_base + reg);
           ^
   drivers/input/touchscreen/ti_am335x_tsc.c:277:11: note: Returning from 
'titsc_readl'
           status = titsc_readl(ts_dev, REG_RAWIRQSTATUS);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:278:6: note: Assuming the 
condition is false
           if (status & IRQENB_HW_PEN) {
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:278:2: note: Taking false branch
           if (status & IRQENB_HW_PEN) {
           ^
   drivers/input/touchscreen/ti_am335x_tsc.c:284:6: note: Assuming the 
condition is false
           if (status & IRQENB_PENUP) {
               ^~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:284:2: note: Taking false branch
           if (status & IRQENB_PENUP) {
           ^
   drivers/input/touchscreen/ti_am335x_tsc.c:298:6: note: Assuming the 
condition is false
           if (status & IRQENB_EOS)
               ^~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:298:2: note: Taking false branch
           if (status & IRQENB_EOS)
           ^
   drivers/input/touchscreen/ti_am335x_tsc.c:305:6: note: Assuming the 
condition is true
           if (status & IRQENB_FIFO0THRES) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:305:2: note: Taking true branch
           if (status & IRQENB_FIFO0THRES) {
           ^
   drivers/input/touchscreen/ti_am335x_tsc.c:307:3: note: Calling 
'titsc_read_coordinates'
                   titsc_read_coordinates(ts_dev, &x, &y, &z1, &z2);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:222:2: note: 'creads' initialized 
here
           unsigned int creads = ts_dev->coordinate_readouts;
           ^~~~~~~~~~~~~~~~~~~
   drivers/input/touchscreen/ti_am335x_tsc.c:224:14: note: Assuming 'i' is >= 
'creads'
           for (i = 0; i < creads; i++) {
                       ^~~~~~~~~~

vim +/ifp +3817 fs/xfs/xfs_inode.c

5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3808  
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3809  /* Compute the number of data 
and realtime blocks used by a file. */
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3810  void
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3811  xfs_inode_count_blocks(
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3812         struct xfs_trans        
*tp,
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3813         struct xfs_inode        
*ip,
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3814         xfs_filblks_t           
*dblocks,
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3815         xfs_filblks_t           
*rblocks)
5b92b6afccb0b8 Darrick J. Wong 2021-09-01  3816  {
5b92b6afccb0b8 Darrick J. Wong 2021-09-01 @3817         struct xfs_ifork        
*ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);

---
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