Hi Pablo, I love your patch! Perhaps something to improve: [auto build test WARNING on net-next/master] [also build test WARNING on next-20191112] [cannot apply to v5.4-rc7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Pablo-Neira-Ayuso/netfilter-flowtable-hardware-offload/20191113-052213 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ca22d6977b9b4ab0fd2e7909b57e32ba5b95046f config: mips-allmodconfig (attached as .config) compiler: mips-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=mips If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): net/netfilter/nf_flow_table_offload.c: In function 'nf_flow_rule_match': >> net/netfilter/nf_flow_table_offload.c:80:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] mask->tcp.flags = TCP_FLAG_RST | TCP_FLAG_FIN; ^~~~~~~~~~~~ vim +80 net/netfilter/nf_flow_table_offload.c 46 47 #define NF_FLOW_DISSECTOR(__match, __type, __field) \ 48 (__match)->dissector.offset[__type] = \ 49 offsetof(struct nf_flow_key, __field) 50 51 static int nf_flow_rule_match(struct nf_flow_match *match, 52 const struct flow_offload_tuple *tuple) 53 { 54 struct nf_flow_key *mask = &match->mask; 55 struct nf_flow_key *key = &match->key; 56 57 NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_CONTROL, control); 58 NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_BASIC, basic); 59 NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_IPV4_ADDRS, ipv4); 60 NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_TCP, tcp); 61 NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_PORTS, tp); 62 63 switch (tuple->l3proto) { 64 case AF_INET: 65 key->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS; 66 key->basic.n_proto = htons(ETH_P_IP); 67 key->ipv4.src = tuple->src_v4.s_addr; 68 mask->ipv4.src = 0xffffffff; 69 key->ipv4.dst = tuple->dst_v4.s_addr; 70 mask->ipv4.dst = 0xffffffff; 71 break; 72 default: 73 return -EOPNOTSUPP; 74 } 75 mask->basic.n_proto = 0xffff; 76 77 switch (tuple->l4proto) { 78 case IPPROTO_TCP: 79 key->tcp.flags = 0; > 80 mask->tcp.flags = TCP_FLAG_RST | TCP_FLAG_FIN; 81 match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_TCP); 82 break; 83 case IPPROTO_UDP: 84 break; 85 default: 86 return -EOPNOTSUPP; 87 } 88 89 key->basic.ip_proto = tuple->l4proto; 90 mask->basic.ip_proto = 0xff; 91 92 key->tp.src = tuple->src_port; 93 mask->tp.src = 0xffff; 94 key->tp.dst = tuple->dst_port; 95 mask->tp.dst = 0xffff; 96 97 match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_CONTROL) | 98 BIT(FLOW_DISSECTOR_KEY_BASIC) | 99 BIT(FLOW_DISSECTOR_KEY_IPV4_ADDRS) | 100 BIT(FLOW_DISSECTOR_KEY_PORTS); 101 return 0; 102 } 103 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip