CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: "Christian König" <[email protected]>
CC: Daniel Vetter <[email protected]>

tree:   git://anongit.freedesktop.org/drm/drm-misc for-linux-next
head:   519f490db07e1a539490612f376487f61e48e39c
commit: 64a8f92fd783e750cdb81af75942dcd53bbf61bd [2/3] dma-buf: add 
dma_fence_unwrap v2
:::::: branch date: 31 hours ago
:::::: commit date: 31 hours ago
config: riscv-randconfig-c006-20220324 
(https://download.01.org/0day-ci/archive/20220327/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
0f6d9501cf49ce02937099350d08f20c4af86f3d)
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
        git remote add drm-misc git://anongit.freedesktop.org/drm/drm-misc
        git fetch --no-tags drm-misc for-linux-next
        git checkout 64a8f92fd783e750cdb81af75942dcd53bbf61bd
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
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 >>)
               ^~~
   fs/ubifs/dir.c:376:2: note: Taking false branch
           if (err) {
           ^
   fs/ubifs/dir.c:382:6: note: Assuming 'err' is 0
           if (err) {
               ^~~
   fs/ubifs/dir.c:382:2: note: Taking false branch
           if (err) {
           ^
   fs/ubifs/dir.c:389:6: note: Calling 'IS_ERR'
           if (IS_ERR(inode)) {
               ^~~~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is true
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned 
long)-MAX_ERRNO)
                           
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning the value 1, which participates in 
a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ubifs/dir.c:389:6: note: Returning from 'IS_ERR'
           if (IS_ERR(inode)) {
               ^~~~~~~~~~~~~
   fs/ubifs/dir.c:389:2: note: Taking true branch
           if (IS_ERR(inode)) {
           ^
   fs/ubifs/dir.c:391:3: note: Control jumps to line 436
                   goto out_budg;
                   ^
   fs/ubifs/dir.c:437:7: note: 'instantiated' is 0
           if (!instantiated)
                ^~~~~~~~~~~~
   fs/ubifs/dir.c:437:2: note: Taking true branch
           if (!instantiated)
           ^
   fs/ubifs/dir.c:441:2: note: Returning without writing to '*whiteout'
           return err;
           ^
   fs/ubifs/dir.c:441:2: note: Returning value (loaded from 'err'), which 
participates in a condition later
           return err;
           ^~~~~~~~~~
   fs/ubifs/dir.c:1334:9: note: Returning from 'do_tmpfile'
                   err = do_tmpfile(old_dir, old_dentry, S_IFCHR | 
WHITEOUT_MODE, &whiteout);
                         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ubifs/dir.c:1335:7: note: Assuming 'err' is 0
                   if (err) {
                       ^~~
   fs/ubifs/dir.c:1335:3: note: Taking false branch
                   if (err) {
                   ^
   fs/ubifs/dir.c:1341:21: note: Access to field 'i_state' results in a 
dereference of a null pointer (loaded from variable 'whiteout')
                   whiteout->i_state |= I_LINKABLE;
                   ~~~~~~~~          ^
   Suppressed 13 warnings (6 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   22 warnings generated.
   Suppressed 22 warnings (12 in non-user code, 10 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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   15 warnings generated.
>> drivers/dma-buf/st-dma-fence-unwrap.c:148:4: warning: Value stored to 'err' 
>> is never read [clang-analyzer-deadcode.DeadStores]
                           err = -EINVAL;
                           ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:148:4: note: Value stored to 'err' is 
never read
                           err = -EINVAL;
                           ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:154:3: warning: Value stored to 'err' 
is never read [clang-analyzer-deadcode.DeadStores]
                   err = -EINVAL;
                   ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:154:3: note: Value stored to 'err' is 
never read
                   err = -EINVAL;
                   ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:190:4: warning: Value stored to 'err' 
is never read [clang-analyzer-deadcode.DeadStores]
                           err = -EINVAL;
                           ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:190:4: note: Value stored to 'err' is 
never read
                           err = -EINVAL;
                           ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:196:3: warning: Value stored to 'err' 
is never read [clang-analyzer-deadcode.DeadStores]
                   err = -EINVAL;
                   ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:196:3: note: Value stored to 'err' is 
never read
                   err = -EINVAL;
                   ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:236:4: warning: Value stored to 'err' 
is never read [clang-analyzer-deadcode.DeadStores]
                           err = -EINVAL;
                           ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:236:4: note: Value stored to 'err' is 
never read
                           err = -EINVAL;
                           ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:242:3: warning: Value stored to 'err' 
is never read [clang-analyzer-deadcode.DeadStores]
                   err = -EINVAL;
                   ^     ~~~~~~~
   drivers/dma-buf/st-dma-fence-unwrap.c:242:3: note: Value stored to 'err' is 
never read
                   err = -EINVAL;
                   ^     ~~~~~~~
   Suppressed 9 warnings (5 in non-user code, 4 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.
   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.
   19 warnings generated.
   Suppressed 19 warnings (12 in non-user code, 7 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.
   20 warnings generated.
   drivers/net/can/dev/bittiming.c:173:33: warning: Division by zero 
[clang-analyzer-core.DivideZero]
           bt->bitrate = priv->clock.freq /
                                          ^
   drivers/net/can/dev/bittiming.c:277:6: note: Assuming field 'tq' is 0
           if (!bt->tq && bt->bitrate && btc)
               ^~~~~~~
   drivers/net/can/dev/bittiming.c:277:6: note: Left side of '&&' is true
   drivers/net/can/dev/bittiming.c:277:17: note: Assuming field 'bitrate' is 
not equal to 0
           if (!bt->tq && bt->bitrate && btc)
                          ^~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:277:6: note: Left side of '&&' is true
           if (!bt->tq && bt->bitrate && btc)
               ^
   drivers/net/can/dev/bittiming.c:277:32: note: Assuming 'btc' is non-null
           if (!bt->tq && bt->bitrate && btc)
                                         ^~~
   drivers/net/can/dev/bittiming.c:277:2: note: Taking true branch
           if (!bt->tq && bt->bitrate && btc)
           ^
   drivers/net/can/dev/bittiming.c:278:9: note: Calling 'can_calc_bittiming'
                   err = can_calc_bittiming(dev, bt, btc);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:77:2: note: 'best_brp' initialized to 0
           unsigned int best_brp = 0;              /* current best value for 
brp */
           ^~~~~~~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:82:6: note: Assuming field 'sample_point' is 
not equal to 0
           if (bt->sample_point) {
               ^~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:82:2: note: Taking true branch
           if (bt->sample_point) {
           ^
   drivers/net/can/dev/bittiming.c:95:7: note: Assuming the condition is true
                tseg >= (btc->tseg1_min + btc->tseg2_min) * 2; tseg--) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:94:2: note: Loop condition is true.  
Entering loop body
           for (tseg = (btc->tseg1_max + btc->tseg2_max) * 2 + 1;
           ^
   drivers/net/can/dev/bittiming.c:103:7: note: Assuming 'brp' is < field 
'brp_min'
                   if (brp < btc->brp_min || brp > btc->brp_max)
                       ^~~~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:103:26: note: Left side of '||' is true
                   if (brp < btc->brp_min || brp > btc->brp_max)
                                          ^
   drivers/net/can/dev/bittiming.c:104:4: note:  Execution continues on line 95
                           continue;
                           ^
   drivers/net/can/dev/bittiming.c:95:7: note: Assuming the condition is false
                tseg >= (btc->tseg1_min + btc->tseg2_min) * 2; tseg--) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:94:2: note: Loop condition is false. 
Execution continues on line 131
           for (tseg = (btc->tseg1_max + btc->tseg2_max) * 2 + 1;
           ^
   drivers/net/can/dev/bittiming.c:131:6: note: 'best_bitrate_error' is 
4294967295
           if (best_bitrate_error) {
               ^~~~~~~~~~~~~~~~~~
   drivers/net/can/dev/bittiming.c:131:2: note: Taking true branch

vim +/err +148 drivers/dma-buf/st-dma-fence-unwrap.c

64a8f92fd783e75 Christian König 2022-03-11  120  
64a8f92fd783e75 Christian König 2022-03-11  121  static int unwrap_array(void 
*arg)
64a8f92fd783e75 Christian König 2022-03-11  122  {
64a8f92fd783e75 Christian König 2022-03-11  123         struct dma_fence 
*fence, *f1, *f2, *array;
64a8f92fd783e75 Christian König 2022-03-11  124         struct dma_fence_unwrap 
iter;
64a8f92fd783e75 Christian König 2022-03-11  125         int err = 0;
64a8f92fd783e75 Christian König 2022-03-11  126  
64a8f92fd783e75 Christian König 2022-03-11  127         f1 = mock_fence();
64a8f92fd783e75 Christian König 2022-03-11  128         if (!f1)
64a8f92fd783e75 Christian König 2022-03-11  129                 return -ENOMEM;
64a8f92fd783e75 Christian König 2022-03-11  130  
64a8f92fd783e75 Christian König 2022-03-11  131         f2 = mock_fence();
64a8f92fd783e75 Christian König 2022-03-11  132         if (!f2) {
64a8f92fd783e75 Christian König 2022-03-11  133                 
dma_fence_put(f1);
64a8f92fd783e75 Christian König 2022-03-11  134                 return -ENOMEM;
64a8f92fd783e75 Christian König 2022-03-11  135         }
64a8f92fd783e75 Christian König 2022-03-11  136  
64a8f92fd783e75 Christian König 2022-03-11  137         array = mock_array(2, 
f1, f2);
64a8f92fd783e75 Christian König 2022-03-11  138         if (!array)
64a8f92fd783e75 Christian König 2022-03-11  139                 return -ENOMEM;
64a8f92fd783e75 Christian König 2022-03-11  140  
64a8f92fd783e75 Christian König 2022-03-11  141         
dma_fence_unwrap_for_each(fence, &iter, array) {
64a8f92fd783e75 Christian König 2022-03-11  142                 if (fence == 
f1) {
64a8f92fd783e75 Christian König 2022-03-11  143                         f1 = 
NULL;
64a8f92fd783e75 Christian König 2022-03-11  144                 } else if 
(fence == f2) {
64a8f92fd783e75 Christian König 2022-03-11  145                         f2 = 
NULL;
64a8f92fd783e75 Christian König 2022-03-11  146                 } else {
64a8f92fd783e75 Christian König 2022-03-11  147                         
pr_err("Unexpected fence!\n");
64a8f92fd783e75 Christian König 2022-03-11 @148                         err = 
-EINVAL;
64a8f92fd783e75 Christian König 2022-03-11  149                 }
64a8f92fd783e75 Christian König 2022-03-11  150         }
64a8f92fd783e75 Christian König 2022-03-11  151  
64a8f92fd783e75 Christian König 2022-03-11  152         if (f1 || f2) {
64a8f92fd783e75 Christian König 2022-03-11  153                 pr_err("Not all 
fences seen!\n");
64a8f92fd783e75 Christian König 2022-03-11  154                 err = -EINVAL;
64a8f92fd783e75 Christian König 2022-03-11  155         }
64a8f92fd783e75 Christian König 2022-03-11  156  
64a8f92fd783e75 Christian König 2022-03-11  157         dma_fence_signal(f1);
64a8f92fd783e75 Christian König 2022-03-11  158         dma_fence_signal(f2);
64a8f92fd783e75 Christian König 2022-03-11  159         dma_fence_put(array);
64a8f92fd783e75 Christian König 2022-03-11  160         return 0;
64a8f92fd783e75 Christian König 2022-03-11  161  }
64a8f92fd783e75 Christian König 2022-03-11  162  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to