CC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Arnd Bergmann <[email protected]>
CC: Nathan Chancellor <[email protected]>
CC: Kees Cook <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   a33f5c380c4bd3fa5278d690421b72052456d9fe
commit: 97e4910232fa1f81e806aa60c25a0450276d99a2 linux/compiler-clang.h: define 
HAVE_BUILTIN_BSWAP*
date:   10 months ago
:::::: branch date: 28 hours ago
:::::: commit date: 10 months ago
config: arm-randconfig-c002-20220113 
(https://download.01.org/0day-ci/archive/20220116/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
d1021978b8e7e35dcc30201ca1731d64b5a602a8)
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/torvalds/linux.git/commit/?id=97e4910232fa1f81e806aa60c25a0450276d99a2
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 97e4910232fa1f81e806aa60c25a0450276d99a2
        # 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 >>)
   7 warnings generated.
   drivers/gpu/drm/meson/meson_venc.c:136:2: warning: Excessive padding in 
'struct meson_hdmi_venc_mode::(unnamed at 
drivers/gpu/drm/meson/meson_venc.c:136:2)' (39 padding bytes, where 3 is 
optimal). 
   Optimal fields order: 
   dvi_settings, 
   video_mode, 
   video_mode_adv, 
   video_prog_mode, 
   video_sync_mode, 
   video_yc_dly, 
   video_rgb_ctrl, 
   video_filt_ctrl, 
   video_ofld_voav_ofst, 
   yfp1_htime, 
   yfp2_htime, 
   max_pxcnt, 
   hspuls_begin, 
   hspuls_end, 
   hspuls_switch, 
   vspuls_begin, 
   vspuls_end, 
   vspuls_bline, 
   vspuls_eline, 
   eqpuls_begin, 
   eqpuls_end, 
   eqpuls_bline, 
   eqpuls_eline, 
   havon_begin, 
   havon_end, 
   vavon_bline, 
   vavon_eline, 
   hso_begin, 
   hso_end, 
   vso_begin, 
   vso_end, 
   vso_bline, 
   vso_eline, 
   sy_val, 
   sy2_val, 
   max_lncnt, 
   video_prog_mode_present, 
   video_sync_mode_present, 
   video_yc_dly_present, 
   video_rgb_ctrl_present, 
   video_filt_ctrl_present, 
   video_ofld_voav_ofst_present, 
   eqpuls_begin_present, 
   eqpuls_end_present, 
   eqpuls_bline_present, 
   eqpuls_eline_present, 
   vso_eline_present, 
   sy_val_present, 
   sy2_val_present, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
           struct {
           ^~~~~~~~
   drivers/gpu/drm/meson/meson_venc.c:136:2: note: Excessive padding in 'struct 
meson_hdmi_venc_mode::(unnamed at drivers/gpu/drm/meson/meson_venc.c:136:2)' 
(39 padding bytes, where 3 is optimal). Optimal fields order: dvi_settings, 
video_mode, video_mode_adv, video_prog_mode, video_sync_mode, video_yc_dly, 
video_rgb_ctrl, video_filt_ctrl, video_ofld_voav_ofst, yfp1_htime, yfp2_htime, 
max_pxcnt, hspuls_begin, hspuls_end, hspuls_switch, vspuls_begin, vspuls_end, 
vspuls_bline, vspuls_eline, eqpuls_begin, eqpuls_end, eqpuls_bline, 
eqpuls_eline, havon_begin, havon_end, vavon_bline, vavon_eline, hso_begin, 
hso_end, vso_begin, vso_end, vso_bline, vso_eline, sy_val, sy2_val, max_lncnt, 
video_prog_mode_present, video_sync_mode_present, video_yc_dly_present, 
video_rgb_ctrl_present, video_filt_ctrl_present, video_ofld_voav_ofst_present, 
eqpuls_begin_present, eqpuls_end_present, eqpuls_bline_present, 
eqpuls_eline_present, vso_eline_present, sy_val_present, sy2_val_present, 
consider reordering t
 he fields or adding explicit padding members
           struct {
           ^~~~~~~~
   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.
   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.
   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/iommu/sun50i-iommu.c:511:3: warning: Value stored to 'dte' is never 
read [clang-analyzer-deadcode.DeadStores]
                   dte = old_dte;
                   ^     ~~~~~~~
   drivers/iommu/sun50i-iommu.c:511:3: note: Value stored to 'dte' is never read
                   dte = old_dte;
                   ^     ~~~~~~~
   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.
   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.
>> drivers/net/ethernet/rocker/rocker_ofdpa.c:1235:2: warning: The expression 
>> is an uninitialized value. The computed value will also be garbage 
>> [clang-analyzer-core.uninitialized.Assign]
           entry->ref_count++;
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2717:6: note: Assuming field 
'fib_aborted' is false
           if (ofdpa->fib_aborted)
               ^~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2717:2: note: Taking false branch
           if (ofdpa->fib_aborted)
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2721:6: note: Assuming 
'ofdpa_port' is non-null
           if (!ofdpa_port)
               ^~~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2721:2: note: Taking false branch
           if (!ofdpa_port)
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2723:8: note: Calling 
'ofdpa_port_fib_ipv4'
           err = ofdpa_port_fib_ipv4(ofdpa_port, htonl(fen_info->dst),
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2287:16: note: Assuming field 
'nhc_dev' is equal to field 'dev'
           nh_on_port = (nh->fib_nh_dev == ofdpa_port->dev);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2288:12: note: Assuming field 
'ipv4' is not equal to 0
           has_gw = !!nh->fib_nh_gw4;
                     ^~~~~~~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2290:6: note: 'has_gw' is true
           if (has_gw && nh_on_port) {
               ^~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2290:6: note: Left side of '&&' 
is true
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2290:16: note: 'nh_on_port' is 
true
           if (has_gw && nh_on_port) {
                         ^~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2290:2: note: Taking true branch
           if (has_gw && nh_on_port) {
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:2291:9: note: Calling 
'ofdpa_port_ipv4_nh'
                   err = ofdpa_port_ipv4_nh(ofdpa_port, flags,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1390:6: note: Assuming 'entry' is 
non-null
           if (!entry)
               ^~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1390:2: note: Taking false branch
           if (!entry)
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1393:2: note: Loop condition is 
false.  Exiting loop
           spin_lock_irqsave(&ofdpa->neigh_tbl_lock, 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:250:2: note: expanded from macro 
'raw_spin_lock_irqsave'
           do {                                            \
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1393:2: note: Loop condition is 
false.  Exiting loop
           spin_lock_irqsave(&ofdpa->neigh_tbl_lock, lock_flags);
           ^
   include/linux/spinlock.h:382:43: note: expanded from macro 
'spin_lock_irqsave'
   #define spin_lock_irqsave(lock, flags)                          \
                                                                   ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1397:13: note: Assuming 'found' 
is non-null
           updating = found && adding;
                      ^~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1397:13: note: Left side of '&&' 
is true
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1398:13: note: 'found' is non-null
           removing = found && !adding;
                      ^~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1398:13: note: Left side of '&&' 
is true
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1399:12: note: 'found' is non-null
           adding = !found && adding;
                     ^~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1399:18: note: Left side of '&&' 
is false
           adding = !found && adding;
                           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1401:6: note: 'adding' is false
           if (adding) {
               ^~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1401:2: note: Taking false branch
           if (adding) {
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1407:13: note: 'removing' is false
           } else if (removing) {
                      ^~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1407:9: note: Taking false branch
           } else if (removing) {
                  ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1410:13: note: 'updating' is true
           } else if (updating) {
                      ^~~~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1410:9: note: Taking true branch
           } else if (updating) {
                  ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1420:7: note: 'adding' is false
           if (!adding)
                ^~~~~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1420:2: note: Taking true branch
           if (!adding)
           ^
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1423:6: note: 'err' is 0
           if (err)
               ^~~
   drivers/net/ethernet/rocker/rocker_ofdpa.c:1423:2: note: Taking false branch
           if (err)

vim +1235 drivers/net/ethernet/rocker/rocker_ofdpa.c

3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1230  
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1231  static void ofdpa_neigh_add(struct 
ofdpa *ofdpa,
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1232                          struct 
ofdpa_neigh_tbl_entry *entry)
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1233  {
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1234      entry->index = 
ofdpa->neigh_tbl_next_index++;
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16 @1235      entry->ref_count++;
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1236      hash_add(ofdpa->neigh_tbl, 
&entry->entry,
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1237               
be32_to_cpu(entry->ip_addr));
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1238  }
3fbcdbf3f1cbe8 Jiri Pirko 2016-02-16  1239  

:::::: The code at line 1235 was first introduced by commit
:::::: 3fbcdbf3f1cbe86fc11856ec268470d7d7bd459b rocker: move OF-DPA stuff into 
separate file

:::::: TO: Jiri Pirko <[email protected]>
:::::: CC: David S. Miller <[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