Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on nf-next/master] url: https://github.com/0day-ci/linux/commits/wenxu-ucloud-cn/netfilter-flowtable-add-vlan-match-offload-support/20210401-155259 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master config: x86_64-randconfig-s021-20210401 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-279-g6d5d9b42-dirty # https://github.com/0day-ci/linux/commit/346de57353f34fbf24607af67862662212333f95 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review wenxu-ucloud-cn/netfilter-flowtable-add-vlan-match-offload-support/20210401-155259 git checkout 346de57353f34fbf24607af67862662212333f95 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) net/netfilter/nf_flow_table_offload.c:46:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] keyid @@ got unsigned int @@ net/netfilter/nf_flow_table_offload.c:46:32: sparse: expected restricted __be32 [usertype] keyid net/netfilter/nf_flow_table_offload.c:46:32: sparse: got unsigned int net/netfilter/nf_flow_table_offload.c:56:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] src @@ got unsigned int @@ net/netfilter/nf_flow_table_offload.c:56:44: sparse: expected restricted __be32 [usertype] src net/netfilter/nf_flow_table_offload.c:56:44: sparse: got unsigned int net/netfilter/nf_flow_table_offload.c:58:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] dst @@ got unsigned int @@ net/netfilter/nf_flow_table_offload.c:58:44: sparse: expected restricted __be32 [usertype] dst net/netfilter/nf_flow_table_offload.c:58:44: sparse: got unsigned int >> net/netfilter/nf_flow_table_offload.c:90:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] vlan_tpid @@ got int @@ net/netfilter/nf_flow_table_offload.c:90:25: sparse: expected restricted __be16 [usertype] vlan_tpid net/netfilter/nf_flow_table_offload.c:90:25: sparse: got int net/netfilter/nf_flow_table_offload.c:123:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] src @@ got unsigned int @@ net/netfilter/nf_flow_table_offload.c:123:32: sparse: expected restricted __be32 [usertype] src net/netfilter/nf_flow_table_offload.c:123:32: sparse: got unsigned int net/netfilter/nf_flow_table_offload.c:125:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] dst @@ got unsigned int @@ net/netfilter/nf_flow_table_offload.c:125:32: sparse: expected restricted __be32 [usertype] dst net/netfilter/nf_flow_table_offload.c:125:32: sparse: got unsigned int net/netfilter/nf_flow_table_offload.c:140:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] n_proto @@ got int @@ net/netfilter/nf_flow_table_offload.c:140:29: sparse: expected restricted __be16 [usertype] n_proto net/netfilter/nf_flow_table_offload.c:140:29: sparse: got int net/netfilter/nf_flow_table_offload.c:184:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] src @@ got int @@ net/netfilter/nf_flow_table_offload.c:184:22: sparse: expected restricted __be16 [usertype] src net/netfilter/nf_flow_table_offload.c:184:22: sparse: got int net/netfilter/nf_flow_table_offload.c:186:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] dst @@ got int @@ net/netfilter/nf_flow_table_offload.c:186:22: sparse: expected restricted __be16 [usertype] dst net/netfilter/nf_flow_table_offload.c:186:22: sparse: got int net/netfilter/nf_flow_table_offload.c:249:30: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *value @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:249:30: sparse: expected restricted __be32 const [usertype] *value net/netfilter/nf_flow_table_offload.c:249:30: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:249:36: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:249:36: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:249:36: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:254:30: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *value @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:254:30: sparse: expected restricted __be32 const [usertype] *value net/netfilter/nf_flow_table_offload.c:254:30: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:254:36: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:254:36: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:254:36: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:308:30: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *value @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:308:30: sparse: expected restricted __be32 const [usertype] *value net/netfilter/nf_flow_table_offload.c:308:30: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:308:36: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:308:36: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:308:36: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:314:30: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *value @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:314:30: sparse: expected restricted __be32 const [usertype] *value net/netfilter/nf_flow_table_offload.c:314:30: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:314:36: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:314:36: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:314:36: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:325:20: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:325:20: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:325:20: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:343:37: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:343:37: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:343:37: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:352:20: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:352:20: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:352:20: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:370:37: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:370:37: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:370:37: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:392:20: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:392:20: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:392:20: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:409:60: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:409:60: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:409:60: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:417:20: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:417:20: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:417:20: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:434:60: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:434:60: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:434:60: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:469:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] port @@ got restricted __be32 [usertype] @@ net/netfilter/nf_flow_table_offload.c:469:22: sparse: expected unsigned int [assigned] [usertype] port net/netfilter/nf_flow_table_offload.c:469:22: sparse: got restricted __be32 [usertype] net/netfilter/nf_flow_table_offload.c:470:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:470:22: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:470:22: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:475:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] port @@ got restricted __be32 [usertype] @@ net/netfilter/nf_flow_table_offload.c:475:22: sparse: expected unsigned int [assigned] [usertype] port net/netfilter/nf_flow_table_offload.c:475:22: sparse: got restricted __be32 [usertype] net/netfilter/nf_flow_table_offload.c:476:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:476:22: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:476:22: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:483:30: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *value @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:483:30: sparse: expected restricted __be32 const [usertype] *value net/netfilter/nf_flow_table_offload.c:483:30: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:483:37: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:483:37: sparse: expected restricted __be32 const [usertype] *mask net/netfilter/nf_flow_table_offload.c:483:37: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:499:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] port @@ got restricted __be32 [usertype] @@ net/netfilter/nf_flow_table_offload.c:499:22: sparse: expected unsigned int [assigned] [usertype] port net/netfilter/nf_flow_table_offload.c:499:22: sparse: got restricted __be32 [usertype] net/netfilter/nf_flow_table_offload.c:500:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:500:22: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:500:22: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:505:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] port @@ got restricted __be32 [usertype] @@ net/netfilter/nf_flow_table_offload.c:505:22: sparse: expected unsigned int [assigned] [usertype] port net/netfilter/nf_flow_table_offload.c:505:22: sparse: got restricted __be32 [usertype] net/netfilter/nf_flow_table_offload.c:506:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] mask @@ got restricted __be32 @@ net/netfilter/nf_flow_table_offload.c:506:22: sparse: expected unsigned int [usertype] mask net/netfilter/nf_flow_table_offload.c:506:22: sparse: got restricted __be32 net/netfilter/nf_flow_table_offload.c:513:30: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 const [usertype] *value @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:513:30: sparse: expected restricted __be32 const [usertype] *value net/netfilter/nf_flow_table_offload.c:513:30: sparse: got unsigned int * net/netfilter/nf_flow_table_offload.c:513:37: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __be32 const [usertype] *mask @@ got unsigned int * @@ net/netfilter/nf_flow_table_offload.c:513:37: sparse: expected restricted __be32 const [usertype] *mask vim +90 net/netfilter/nf_flow_table_offload.c 80 81 static void nf_flow_rule_vlan_match(struct flow_dissector_key_vlan *key, 82 struct flow_dissector_key_vlan *mask, 83 u16 vlan_id, __be16 n_proto) 84 { 85 key->vlan_id = vlan_id & VLAN_VID_MASK; 86 mask->vlan_id = VLAN_VID_MASK; 87 key->vlan_priority = (vlan_id & VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT; 88 mask->vlan_priority = 0x7; 89 key->vlan_tpid = n_proto; > 90 mask->vlan_tpid = 0xffff; 91 } 92 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip