net/netfilter/nf_flow_table_offload.c:88:25: sparse: sparse: incorrect type in assignment (different base types)

From: kernel test robot
Date: Mon Jan 08 2024 - 18:47:58 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5db8752c3b81bd33a549f6f812bab81e3bb61b20
commit: 3e1b0c168f6c8648f217c78ed6a4135af8c9d830 netfilter: flowtable: add vlan match offload support
date: 2 years, 9 months ago
config: i386-randconfig-r132-20240106 (https://download.01.org/0day-ci/archive/20240109/202401090754.reS6Tzuj-lkp@xxxxxxxxx/config)
compiler: ClangBuiltLinux clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240109/202401090754.reS6Tzuj-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401090754.reS6Tzuj-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:88: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:88:25: sparse: expected restricted __be16 [usertype] vlan_tpid
net/netfilter/nf_flow_table_offload.c:88:25: sparse: got int
net/netfilter/nf_flow_table_offload.c:147: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:147:32: sparse: expected restricted __be32 [usertype] src
net/netfilter/nf_flow_table_offload.c:147:32: sparse: got unsigned int
net/netfilter/nf_flow_table_offload.c:149: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:149:32: sparse: expected restricted __be32 [usertype] dst
net/netfilter/nf_flow_table_offload.c:149:32: sparse: got unsigned int
net/netfilter/nf_flow_table_offload.c:164: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:164:29: sparse: expected restricted __be16 [usertype] n_proto
net/netfilter/nf_flow_table_offload.c:164:29: sparse: got int
net/netfilter/nf_flow_table_offload.c:182:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] src @@ got int @@
net/netfilter/nf_flow_table_offload.c:182:22: sparse: expected restricted __be16 [usertype] src
net/netfilter/nf_flow_table_offload.c:182:22: 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] dst @@ got int @@
net/netfilter/nf_flow_table_offload.c:184:22: sparse: expected restricted __be16 [usertype] dst
net/netfilter/nf_flow_table_offload.c:184:22: sparse: got int
net/netfilter/nf_flow_table_offload.c:247: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:247:30: sparse: expected restricted __be32 const [usertype] *value
net/netfilter/nf_flow_table_offload.c:247:30: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:247: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:247:36: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:247:36: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:252: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:252:30: sparse: expected restricted __be32 const [usertype] *value
net/netfilter/nf_flow_table_offload.c:252:30: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:252: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:252:36: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:252:36: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:306: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:306:30: sparse: expected restricted __be32 const [usertype] *value
net/netfilter/nf_flow_table_offload.c:306:30: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:306: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:306:36: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:306:36: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:312: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:312:30: sparse: expected restricted __be32 const [usertype] *value
net/netfilter/nf_flow_table_offload.c:312:30: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:312: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:312:36: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:312:36: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:323: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:323:20: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:323:20: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:341: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:341:37: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:341:37: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:350: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:350:20: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:350:20: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:368: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:368:37: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:368:37: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:390: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:390:20: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:390:20: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:407: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:407:60: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:407:60: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:415: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:415:20: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:415:20: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:432: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:432:60: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:432:60: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:467: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:467:22: sparse: expected unsigned int [assigned] [usertype] port
net/netfilter/nf_flow_table_offload.c:467:22: sparse: got restricted __be32 [usertype]
net/netfilter/nf_flow_table_offload.c:468: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:468:22: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:468:22: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:473: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:473:22: sparse: expected unsigned int [assigned] [usertype] port
net/netfilter/nf_flow_table_offload.c:473:22: sparse: got restricted __be32 [usertype]
net/netfilter/nf_flow_table_offload.c:474: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:474:22: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:474:22: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:481: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:481:30: sparse: expected restricted __be32 const [usertype] *value
net/netfilter/nf_flow_table_offload.c:481:30: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:481: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:481:37: sparse: expected restricted __be32 const [usertype] *mask
net/netfilter/nf_flow_table_offload.c:481:37: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:497: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:497:22: sparse: expected unsigned int [assigned] [usertype] port
net/netfilter/nf_flow_table_offload.c:497:22: sparse: got restricted __be32 [usertype]
net/netfilter/nf_flow_table_offload.c:498: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:498:22: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:498:22: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:503: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:503:22: sparse: expected unsigned int [assigned] [usertype] port
net/netfilter/nf_flow_table_offload.c:503:22: sparse: got restricted __be32 [usertype]
net/netfilter/nf_flow_table_offload.c:504: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:504:22: sparse: expected unsigned int [usertype] mask
net/netfilter/nf_flow_table_offload.c:504:22: sparse: got restricted __be32
net/netfilter/nf_flow_table_offload.c:511: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:511:30: sparse: expected restricted __be32 const [usertype] *value
net/netfilter/nf_flow_table_offload.c:511:30: sparse: got unsigned int *
net/netfilter/nf_flow_table_offload.c:511: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:511:37: sparse: expected restricted __be32 const [usertype] *mask

vim +88 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 proto)
84 {
85 key->vlan_id = vlan_id;
86 mask->vlan_id = VLAN_VID_MASK;
87 key->vlan_tpid = proto;
> 88 mask->vlan_tpid = 0xffff;
89 }
90

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki