Hi Fei, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v6.3-rc5] [cannot apply to next-20230331] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Fei-Cheng/udp-nat-vxlan-tx-after-nat-should-recsum-if-vxlan-tx-offload-on/20230401-103127 patch link: https://lore.kernel.org/r/20230401023029.967357-1-chenwei.0515%40bytedance.com patch subject: [PATCH] udp:nat:vxlan tx after nat should recsum if vxlan tx offload on config: microblaze-randconfig-s052-20230402 (https://download.01.org/0day-ci/archive/20230403/202304031611.3W21vgtb-lkp@xxxxxxxxx/config) compiler: microblaze-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/58c404cd43734d67706e3dc48c04a3e11e9dd8e8 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Fei-Cheng/udp-nat-vxlan-tx-after-nat-should-recsum-if-vxlan-tx-offload-on/20230401-103127 git checkout 58c404cd43734d67706e3dc48c04a3e11e9dd8e8 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze SHELL=/bin/bash net/netfilter/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202304031611.3W21vgtb-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> net/netfilter/nf_nat_proto.c:81:43: sparse: sparse: cast from restricted __be16 >> net/netfilter/nf_nat_proto.c:81:43: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int len @@ got restricted __be16 [usertype] @@ net/netfilter/nf_nat_proto.c:81:43: sparse: expected int len net/netfilter/nf_nat_proto.c:81:43: sparse: got restricted __be16 [usertype] vim +81 net/netfilter/nf_nat_proto.c 65 66 static bool udp_manip_pkt(struct sk_buff *skb, 67 unsigned int iphdroff, unsigned int hdroff, 68 const struct nf_conntrack_tuple *tuple, 69 enum nf_nat_manip_type maniptype) 70 { 71 struct udphdr *hdr; 72 73 if (skb_ensure_writable(skb, hdroff + sizeof(*hdr))) 74 return false; 75 76 hdr = (struct udphdr *)(skb->data + hdroff); 77 __udp_manip_pkt(skb, iphdroff, hdr, tuple, maniptype, !!hdr->check); 78 79 if (skb->csum_local) { 80 hdr->check = 0; > 81 hdr->check = udp_v4_check(htons(hdr->len), tuple->src.u3.ip, tuple->dst.u3.ip, 82 lco_csum(skb)); 83 if (hdr->check == 0) 84 hdr->check = CSUM_MANGLED_0; 85 } 86 87 return true; 88 } 89 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests