From: Ahmed Abdelsalam <amsala...@gmail.com> Date: Thu, 26 Apr 2018 16:11:11 +0200
> @@ -119,6 +119,9 @@ int seg6_do_srh_encap(struct sk_buff *skb, struct > ipv6_sr_hdr *osrh, int proto) > int hdrlen, tot_len, err; > __be32 flowlabel; > > + inner_hdr = ipv6_hdr(skb); You have to make this assignment after, not before, the skb_cow_header() call. Otherwise this point can be pointing to freed up memory.