From: kernel test robot <lkp@intel.com>
To: Anton Makarov <antonmakarov11235@gmail.com>,
davem@davemloft.net, netdev@vger.kernel.org,
david.lebrun@uclouvain.be, kuba@kernel.org
Cc: kbuild-all@lists.01.org, Anton Makarov <anton.makarov11235@gmail.com>
Subject: Re: [net-next 1/1] net: seg6: Add support for SRv6 Headend Reduced Encapsulation
Date: Fri, 10 Jun 2022 08:52:49 +0800 [thread overview]
Message-ID: <202206100834.gCKYSSPQ-lkp@intel.com> (raw)
In-Reply-To: <20220608112646.9331-1-anton.makarov11235@gmail.com>
Hi Anton,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Anton-Makarov/net-seg6-Add-support-for-SRv6-Headend-Reduced-Encapsulation/20220608-193600
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git da6e113ff010815fdd21ee1e9af2e8d179a2680f
config: parisc-randconfig-s032-20220608 (https://download.01.org/0day-ci/archive/20220610/202206100834.gCKYSSPQ-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 11.3.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-26-gb3cf30ba-dirty
# https://github.com/intel-lab-lkp/linux/commit/16ea0251e14bdf1f5dea8a1a90318df7aac69038
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Anton-Makarov/net-seg6-Add-support-for-SRv6-Headend-Reduced-Encapsulation/20220608-193600
git checkout 16ea0251e14bdf1f5dea8a1a90318df7aac69038
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=parisc SHELL=/bin/bash net/ipv6/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> net/ipv6/seg6_iptunnel.c:237:56: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be32 [usertype] flowinfo @@ got unsigned char [usertype] tos @@
net/ipv6/seg6_iptunnel.c:237:56: sparse: expected restricted __be32 [usertype] flowinfo
net/ipv6/seg6_iptunnel.c:237:56: sparse: got unsigned char [usertype] tos
vim +237 net/ipv6/seg6_iptunnel.c
199
200 /* encapsulate an IPv6 packet within an outer IPv6 header with reduced SRH */
201 int seg6_do_srh_encap_red(struct sk_buff *skb, struct ipv6_sr_hdr *osrh, int proto)
202 {
203 struct dst_entry *dst = skb_dst(skb);
204 struct net *net = dev_net(dst->dev);
205 struct ipv6hdr *hdr, *inner_hdr6;
206 struct iphdr *inner_hdr4;
207 struct ipv6_sr_hdr *isrh;
208 int hdrlen = 0, tot_len, err;
209 __be32 flowlabel = 0;
210
211 if (osrh->first_segment > 0)
212 hdrlen = (osrh->hdrlen - 1) << 3;
213
214 tot_len = hdrlen + sizeof(struct ipv6hdr);
215
216 err = skb_cow_head(skb, tot_len + skb->mac_len);
217 if (unlikely(err))
218 return err;
219
220 inner_hdr6 = ipv6_hdr(skb);
221 inner_hdr4 = ip_hdr(skb);
222 flowlabel = seg6_make_flowlabel(net, skb, inner_hdr6);
223
224 skb_push(skb, tot_len);
225 skb_reset_network_header(skb);
226 skb_mac_header_rebuild(skb);
227 hdr = ipv6_hdr(skb);
228
229 memset(skb->cb, 0, 48);
230 IP6CB(skb)->iif = skb->skb_iif;
231
232 if (skb->protocol == htons(ETH_P_IPV6)) {
233 ip6_flow_hdr(hdr, ip6_tclass(ip6_flowinfo(inner_hdr6)),
234 flowlabel);
235 hdr->hop_limit = inner_hdr6->hop_limit;
236 } else if (skb->protocol == htons(ETH_P_IP)) {
> 237 ip6_flow_hdr(hdr, ip6_tclass(inner_hdr4->tos), flowlabel);
238 hdr->hop_limit = inner_hdr4->ttl;
239 }
240
241 skb->protocol = htons(ETH_P_IPV6);
242
243 hdr->daddr = osrh->segments[osrh->first_segment];
244 hdr->version = 6;
245
246 if (osrh->first_segment > 0) {
247 hdr->nexthdr = NEXTHDR_ROUTING;
248
249 isrh = (void *)hdr + sizeof(struct ipv6hdr);
250 memcpy(isrh, osrh, hdrlen);
251
252 isrh->nexthdr = proto;
253 isrh->first_segment--;
254 isrh->hdrlen -= 2;
255 } else {
256 hdr->nexthdr = proto;
257 }
258
259 set_tun_src(net, dst->dev, &hdr->daddr, &hdr->saddr);
260
--
0-DAY CI Kernel Test Service
https://01.org/lkp
prev parent reply other threads:[~2022-06-10 0:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-08 11:26 [net-next 1/1] net: seg6: Add support for SRv6 Headend Reduced Encapsulation Anton Makarov
2022-06-09 3:45 ` Jakub Kicinski
2022-06-10 0:52 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202206100834.gCKYSSPQ-lkp@intel.com \
--to=lkp@intel.com \
--cc=anton.makarov11235@gmail.com \
--cc=antonmakarov11235@gmail.com \
--cc=davem@davemloft.net \
--cc=david.lebrun@uclouvain.be \
--cc=kbuild-all@lists.01.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.