aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/xfrm4_mode_beet.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/xfrm4_mode_beet.c')
-rw-r--r--net/ipv4/xfrm4_mode_beet.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv4/xfrm4_mode_beet.c b/net/ipv4/xfrm4_mode_beet.c
index a73e710740c2..77888f596737 100644
--- a/net/ipv4/xfrm4_mode_beet.c
+++ b/net/ipv4/xfrm4_mode_beet.c
@@ -40,10 +40,11 @@ static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb)
40 if (unlikely(optlen)) 40 if (unlikely(optlen))
41 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4); 41 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4);
42 42
43 skb_push(skb, x->props.header_len - IPV4_BEET_PHMAXLEN + hdrlen); 43 skb_set_network_header(skb, IPV4_BEET_PHMAXLEN - x->props.header_len -
44 skb_reset_network_header(skb); 44 hdrlen);
45 top_iph = ip_hdr(skb); 45 top_iph = ip_hdr(skb);
46 skb->transport_header += sizeof(*iph) - hdrlen; 46 skb->transport_header += sizeof(*iph) - hdrlen;
47 __skb_pull(skb, sizeof(*iph) - hdrlen);
47 48
48 memmove(top_iph, iph, sizeof(*iph)); 49 memmove(top_iph, iph, sizeof(*iph));
49 if (unlikely(optlen)) { 50 if (unlikely(optlen)) {