Setting it to skb->h.raw, which is valid, in the (to become) old pointer based
world order and in the new world of offset based layer headers.
Signed-off-by: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]>
---
net/ipv4/xfrm4_mode_transport.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
From 1be06f79a01bf57737caf1b7280e3b07335b0f7e Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]>
Date: Sat, 10 Mar 2007 19:59:16 -0300
Subject: [PATCH 13/18] [SK_BUFF] xfrm4: use skb_reset_network_header
Setting it to skb->h.raw, which is valid, in the (to become) old pointer based
world order and in the new world of offset based layer headers.
Signed-off-by: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]>
---
net/ipv4/xfrm4_mode_transport.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/xfrm4_mode_transport.c b/net/ipv4/xfrm4_mode_transport.c
index 290c0f2..a820dde 100644
--- a/net/ipv4/xfrm4_mode_transport.c
+++ b/net/ipv4/xfrm4_mode_transport.c
@@ -50,8 +50,10 @@ static int xfrm4_transport_input(struct xfrm_state *x, struct sk_buff *skb)
{
int ihl = skb->data - skb->h.raw;
- if (skb->h.raw != skb->nh.raw)
- skb->nh.raw = memmove(skb->h.raw, skb->nh.raw, ihl);
+ if (skb->h.raw != skb->nh.raw) {
+ memmove(skb->h.raw, skb->nh.raw, ihl);
+ skb->nh.raw = skb->h.raw;
+ }
skb->nh.iph->tot_len = htons(skb->len + ihl);
skb->h.raw = skb->data;
return 0;
--
1.5.0.2