summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ipmr.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-03-12 02:38:29 +0100
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 07:25:00 +0200
commit878c814500b123dd61a5e211879a32e5fd932713 (patch)
tree0b786fb195c104943f410483c1051ec0399efff5 /net/ipv4/ipmr.c
parent[SK_BUFF]: Introduce skb_network_header() (diff)
downloadlinux-878c814500b123dd61a5e211879a32e5fd932713.tar.xz
linux-878c814500b123dd61a5e211879a32e5fd932713.zip
[SK_BUFF] ipmr: Another skb_push related conversion to skb_reset_network_header
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/ipv4/ipmr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index 4a8d99bca441..465459d59b21 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -561,8 +561,10 @@ static int ipmr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert)
And all this only to mangle msg->im_msgtype and
to set msg->im_mbz to "mbz" :-)
*/
- msg = (struct igmpmsg*)skb_push(skb, sizeof(struct iphdr));
- skb->nh.raw = skb->h.raw = (u8*)msg;
+ skb_push(skb, sizeof(struct iphdr));
+ skb_reset_network_header(skb);
+ skb->h.raw = skb->data;
+ msg = (struct igmpmsg *)skb->nh.raw;
memcpy(msg, skb_network_header(pkt), sizeof(struct iphdr));
msg->im_msgtype = IGMPMSG_WHOLEPKT;
msg->im_mbz = 0;