All of lore.kernel.org
 help / color / mirror / Atom feed
* net/mpls/af_mpls.c:704:16: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
@ 2022-02-02 18:04 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-02-02 18:04 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 16964 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Benjamin Poirier <bpoirier@nvidia.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9f7fb8de5d9bac17b6392a14af40baf555d9129b
commit: 7d4741eacdefa5f0475431645b56baf00784df1f net: mpls: Fix notifications when deleting a device
date:   9 weeks ago
:::::: branch date: 21 hours ago
:::::: commit date: 9 weeks ago
config: arm-randconfig-c002-20220121 (https://download.01.org/0day-ci/archive/20220203/202202030216.RyyRnPqe-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
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=7d4741eacdefa5f0475431645b56baf00784df1f
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 7d4741eacdefa5f0475431645b56baf00784df1f
        # 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 <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
                                 ^
   net/mac80211/airtime.c:677:8: note: '?' condition is false
                   else if (duration > 150 * 1024) /* <= VHT20 MCS5 1S or MCS2 2S */
                        ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   net/mac80211/airtime.c:677:8: note: Taking false branch
                   else if (duration > 150 * 1024) /* <= VHT20 MCS5 1S or MCS2 2S */
                        ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   net/mac80211/airtime.c:679:8: note: '?' condition is false
                   else if (duration > 70 * 1024) /* <= VHT20 MCS5 2S */
                        ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   net/mac80211/airtime.c:679:8: note: '?' condition is false
                   else if (duration > 70 * 1024) /* <= VHT20 MCS5 2S */
                        ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   net/mac80211/airtime.c:679:8: note: Taking false branch
                   else if (duration > 70 * 1024) /* <= VHT20 MCS5 2S */
                        ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   net/mac80211/airtime.c:681:12: note: Assuming field 'encoding' is not equal to RX_ENC_HE
                   else if (stat.encoding != RX_ENC_HE ||
                            ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                                                 ^~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   net/mac80211/airtime.c:681:39: note: Left side of '||' is true
                   else if (stat.encoding != RX_ENC_HE ||
                                                       ^
   net/mac80211/airtime.c:681:8: note: '?' condition is false
                   else if (stat.encoding != RX_ENC_HE ||
                        ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   net/mac80211/airtime.c:681:17: note: Field 'encoding' is not equal to RX_ENC_HE
                   else if (stat.encoding != RX_ENC_HE ||
                                 ^
   net/mac80211/airtime.c:681:39: note: Left side of '||' is true
                   else if (stat.encoding != RX_ENC_HE ||
                                                       ^
   net/mac80211/airtime.c:681:8: note: '?' condition is true
                   else if (stat.encoding != RX_ENC_HE ||
                        ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   net/mac80211/airtime.c:681:8: note: Taking true branch
                   else if (stat.encoding != RX_ENC_HE ||
                        ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   net/mac80211/airtime.c:690:25: note: The left operand of '>>' is a garbage value
                   duration += (overhead >> agg_shift);
                                ~~~~~~~~ ^
   Suppressed 16 warnings (16 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.
   16 warnings generated.
   Suppressed 16 warnings (16 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.
   21 warnings generated.
>> net/mpls/af_mpls.c:704:16: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
                   nh->nh_flags |= RTNH_F_DEAD;
                                ^
   net/mpls/af_mpls.c:977:7: note: Assuming the condition is false
           if ((index == LABEL_NOT_SPECIFIED) &&
                ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   net/mpls/af_mpls.c:977:37: note: Left side of '&&' is false
           if ((index == LABEL_NOT_SPECIFIED) &&
                                              ^
   net/mpls/af_mpls.c:977:2: note: '?' condition is false
           if ((index == LABEL_NOT_SPECIFIED) &&
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   net/mpls/af_mpls.c:977:37: note: Left side of '&&' is false
           if ((index == LABEL_NOT_SPECIFIED) &&
                                              ^
   net/mpls/af_mpls.c:977:2: note: '?' condition is false
           if ((index == LABEL_NOT_SPECIFIED) &&
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   net/mpls/af_mpls.c:977:2: note: Taking false branch
           if ((index == LABEL_NOT_SPECIFIED) &&
           ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   net/mpls/af_mpls.c:982:2: note: '?' condition is false
           if (!mpls_label_ok(net, &index, extack))
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   net/mpls/af_mpls.c:982:2: note: '?' condition is false
           if (!mpls_label_ok(net, &index, extack))
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   net/mpls/af_mpls.c:982:2: note: Taking false branch
           if (!mpls_label_ok(net, &index, extack))
           ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   net/mpls/af_mpls.c:987:2: note: Assuming the condition is true
           if (cfg->rc_nlflags & NLM_F_APPEND) {
           ^
   include/linux/compiler.h:56:45: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   net/mpls/af_mpls.c:987:2: note: '?' condition is false
           if (cfg->rc_nlflags & NLM_F_APPEND) {
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   net/mpls/af_mpls.c:987:2: note: '?' condition is false
           if (cfg->rc_nlflags & NLM_F_APPEND) {
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \

vim +704 net/mpls/af_mpls.c

01faef2cebae02 Roopa Prabhu    2015-07-21  678  
cf4b24f0024fc2 Robert Shearman 2015-10-27  679  static int mpls_nh_assign_dev(struct net *net, struct mpls_route *rt,
cf4b24f0024fc2 Robert Shearman 2015-10-27  680  			      struct mpls_nh *nh, int oif)
f8efb73c97e2fa Roopa Prabhu    2015-10-23  681  {
f8efb73c97e2fa Roopa Prabhu    2015-10-23  682  	struct net_device *dev = NULL;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  683  	int err = -ENODEV;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  684  
cf4b24f0024fc2 Robert Shearman 2015-10-27  685  	dev = find_outdev(net, rt, nh, oif);
f8efb73c97e2fa Roopa Prabhu    2015-10-23  686  	if (IS_ERR(dev)) {
f8efb73c97e2fa Roopa Prabhu    2015-10-23  687  		err = PTR_ERR(dev);
f8efb73c97e2fa Roopa Prabhu    2015-10-23  688  		dev = NULL;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  689  		goto errout;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  690  	}
f8efb73c97e2fa Roopa Prabhu    2015-10-23  691  
f8efb73c97e2fa Roopa Prabhu    2015-10-23  692  	/* Ensure this is a supported device */
f8efb73c97e2fa Roopa Prabhu    2015-10-23  693  	err = -EINVAL;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  694  	if (!mpls_dev_get(dev))
f8efb73c97e2fa Roopa Prabhu    2015-10-23  695  		goto errout;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  696  
a3e948e83a302c Robert Shearman 2015-12-10  697  	if ((nh->nh_via_table == NEIGH_LINK_TABLE) &&
a3e948e83a302c Robert Shearman 2015-12-10  698  	    (dev->addr_len != nh->nh_via_alen))
a3e948e83a302c Robert Shearman 2015-12-10  699  		goto errout;
a3e948e83a302c Robert Shearman 2015-12-10  700  
f8efb73c97e2fa Roopa Prabhu    2015-10-23  701  	RCU_INIT_POINTER(nh->nh_dev, dev);
f8efb73c97e2fa Roopa Prabhu    2015-10-23  702  
c89359a42e2a49 Roopa Prabhu    2015-12-01  703  	if (!(dev->flags & IFF_UP)) {
c89359a42e2a49 Roopa Prabhu    2015-12-01 @704  		nh->nh_flags |= RTNH_F_DEAD;
c89359a42e2a49 Roopa Prabhu    2015-12-01  705  	} else {
c89359a42e2a49 Roopa Prabhu    2015-12-01  706  		unsigned int flags;
c89359a42e2a49 Roopa Prabhu    2015-12-01  707  
c89359a42e2a49 Roopa Prabhu    2015-12-01  708  		flags = dev_get_flags(dev);
c89359a42e2a49 Roopa Prabhu    2015-12-01  709  		if (!(flags & (IFF_RUNNING | IFF_LOWER_UP)))
c89359a42e2a49 Roopa Prabhu    2015-12-01  710  			nh->nh_flags |= RTNH_F_LINKDOWN;
c89359a42e2a49 Roopa Prabhu    2015-12-01  711  	}
c89359a42e2a49 Roopa Prabhu    2015-12-01  712  
f8efb73c97e2fa Roopa Prabhu    2015-10-23  713  	return 0;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  714  
f8efb73c97e2fa Roopa Prabhu    2015-10-23  715  errout:
f8efb73c97e2fa Roopa Prabhu    2015-10-23  716  	return err;
f8efb73c97e2fa Roopa Prabhu    2015-10-23  717  }
f8efb73c97e2fa Roopa Prabhu    2015-10-23  718  

:::::: The code at line 704 was first introduced by commit
:::::: c89359a42e2a49656451569c382eed63e781153c mpls: support for dead routes

:::::: TO: Roopa Prabhu <roopa@cumulusnetworks.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-02 18:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-02 18:04 net/mpls/af_mpls.c:704:16: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.