Hi Jonas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Jonas-Bonn/gtp-IPv6-support/20201211-203639
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
91163f82143630a9629a8bf0227d49173697c69c
config: mips-randconfig-r026-20201209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
5ff35356f1af2bb92785b38c657463924d9ec386)
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 mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # 
https://github.com/0day-ci/linux/commit/de5669628a8f684dd7ed378aaf2a997221d243fa
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Jonas-Bonn/gtp-IPv6-support/20201211-203639
        git checkout de5669628a8f684dd7ed378aaf2a997221d243fa
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/net/gtp.c:402:2: warning: variable 'err' is used uninitialized 
>> whenever 'if' condition is true
   if (!ptype)
   ^~~~~~~~~~~
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( , ## __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/gtp.c:413:9: note: uninitialized use occurs here
   return err;
   ^~~
   drivers/net/gtp.c:402:2: note: remove the 'if' if its condition is always 
false
   if (!ptype)
   ^~~~~~~~~~~
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( , ## __VA_ARGS__) ) )
   ^
>> drivers/net/gtp.c:396:2: warning: variable 'err' is used uninitialized 
>> whenever switch default is taken
   default:
   ^~~~~~~
   drivers/net/gtp.c:413:9: note: uninitialized use occurs here
   return err;
   ^~~
   drivers/net/gtp.c:372:9: note: initialize the variable 'err' to silence this 
warning
   int err;
   ^
   = 0
   fatal error: error in backend: Nested variants found in inline asm string: ' 
.set push
   .set mips64r2
   .if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data 
__attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) 
__if_trace = $( .func = __func__, .file = "arch/mips/include/asm/atomic.h", 
.line = 153, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; 
.rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
   1: ll $1, $2 # atomic_fetch_add
   addu $0, $1, $3
   sc $0, $2
   beqz $0, 1b
   .set pop
   move $0, $1
   '
   clang-12: error: clang frontend command failed with exit code 70 (use -v to 
see invocation)
   clang version 12.0.0 (git://gitmirror/llvm_project 
5ff35356f1af2bb92785b38c657463924d9ec386)
   Target: mipsel-unknown-linux-gnu
   Thread model: posix
   InstalledDir: /opt/cross/clang-5ff35356f1/bin
   clang-12: note: diagnostic msg:
   Makefile arch drivers include kernel scripts source usr

vim +402 drivers/net/gtp.c

   363  
   364  static int gtp_gro_complete(struct sock *sk, struct sk_buff * skb, int 
nhoff)
   365  {
   366          size_t hdrlen;
   367          char* gtphdr = skb->data + nhoff;
   368          u8 version;
   369          __be16 type;
   370          struct packet_offload *ptype;
   371          uint8_t ipver;
   372          int err;
   373  
   374          version = *gtphdr >> 5;
   375          switch (version) {
   376          case GTP_V0:
   377                  hdrlen = sizeof(struct gtp0_header);
   378                  break;
   379          case GTP_V1:
   380                  hdrlen = sizeof(struct gtp1_header);
   381                  if (*gtphdr & GTP1_F_MASK)
   382                          hdrlen += 4;
   383                  break;
   384          }
   385  
   386          skb_set_inner_network_header(skb, nhoff + hdrlen);
   387  
   388          ipver = inner_ip_hdr(skb)->version;
   389          switch (ipver) {
   390          case 4:
   391                  type = cpu_to_be16(ETH_P_IP);
   392                  break;
   393          case 6:
   394                  type = cpu_to_be16(ETH_P_IPV6);
   395                  break;
 > 396          default:
   397                  goto out;
   398          }
   399  
   400          rcu_read_lock();
   401          ptype = gro_find_complete_by_type(type);
 > 402          if (!ptype)
   403                  goto out_unlock;
   404  
   405          err = ptype->callbacks.gro_complete(skb, nhoff + hdrlen);
   406  
   407          skb_set_inner_mac_header(skb, nhoff + hdrlen);
   408  
   409  out_unlock:
   410          rcu_read_unlock();
   411  out:
   412  
   413          return err;
   414  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to