[linux-next:master 2550/2970] drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:4600:3: warning: variable 'val' is used uninitialized whenever 'if' condition is false

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   9004fd387338b1104499b2c52ef5729a32c408f0
commit: 4b5a3ab17c6c942bd428984b6b37fe3c07f18ab3 [2550/2970] octeontx2-af: Hardware configuration for inline IPsec
config: arm64-buildonly-randconfig-r001-20210916 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=4b5a3ab17c6c942bd428984b6b37fe3c07f18ab3
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 4b5a3ab17c6c942bd428984b6b37fe3c07f18ab3
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:4600:3: warning: variable 'val' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
                   if (!is_rvu_otx2(rvu))
                   ^~~~~~~~~~~~~~~~~~~~~~
   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:30: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:4604:3: note: uninitialized use occurs here
                   val |= FIELD_PREP(IPSEC_GEN_CFG_EGRP, req->gen_cfg.egrp);
                   ^~~
   drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:4600:3: note: remove the 'if' if its condition is always true
                   if (!is_rvu_otx2(rvu))
                   ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:4595:9: note: initialize the variable 'val' to silence this warning
           u64 val;
                  ^
                   = 0
   1 warning generated.


vim +4600 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c

  4590	
  4591	static void nix_inline_ipsec_cfg(struct rvu *rvu, struct nix_inline_ipsec_cfg *req,
  4592					 int blkaddr)
  4593	{
  4594		u8 cpt_idx, cpt_blkaddr;
  4595		u64 val;
  4596	
  4597		cpt_idx = (blkaddr == BLKADDR_NIX0) ? 0 : 1;
  4598		if (req->enable) {
  4599			/* Enable context prefetching */
> 4600			if (!is_rvu_otx2(rvu))
  4601				val = BIT_ULL(51);
  4602	
  4603			/* Set OPCODE and EGRP */
  4604			val |= FIELD_PREP(IPSEC_GEN_CFG_EGRP, req->gen_cfg.egrp);
  4605			val |= FIELD_PREP(IPSEC_GEN_CFG_OPCODE, req->gen_cfg.opcode);
  4606			val |= FIELD_PREP(IPSEC_GEN_CFG_PARAM1, req->gen_cfg.param1);
  4607			val |= FIELD_PREP(IPSEC_GEN_CFG_PARAM2, req->gen_cfg.param2);
  4608	
  4609			rvu_write64(rvu, blkaddr, NIX_AF_RX_IPSEC_GEN_CFG, val);
  4610	
  4611			/* Set CPT queue for inline IPSec */
  4612			val = FIELD_PREP(CPT_INST_QSEL_SLOT, req->inst_qsel.cpt_slot);
  4613			val |= FIELD_PREP(CPT_INST_QSEL_PF_FUNC,
  4614					  req->inst_qsel.cpt_pf_func);
  4615	
  4616			if (!is_rvu_otx2(rvu)) {
  4617				cpt_blkaddr = (cpt_idx == 0) ? BLKADDR_CPT0 :
  4618							       BLKADDR_CPT1;
  4619				val |= FIELD_PREP(CPT_INST_QSEL_BLOCK, cpt_blkaddr);
  4620			}
  4621	
  4622			rvu_write64(rvu, blkaddr, NIX_AF_RX_CPTX_INST_QSEL(cpt_idx),
  4623				    val);
  4624	
  4625			/* Set CPT credit */
  4626			rvu_write64(rvu, blkaddr, NIX_AF_RX_CPTX_CREDIT(cpt_idx),
  4627				    req->cpt_credit);
  4628		} else {
  4629			rvu_write64(rvu, blkaddr, NIX_AF_RX_IPSEC_GEN_CFG, 0x0);
  4630			rvu_write64(rvu, blkaddr, NIX_AF_RX_CPTX_INST_QSEL(cpt_idx),
  4631				    0x0);
  4632			rvu_write64(rvu, blkaddr, NIX_AF_RX_CPTX_CREDIT(cpt_idx),
  4633				    0x3FFFFF);
  4634		}
  4635	}
  4636	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux