aboutsummaryrefslogtreecommitdiff
path: root/net/ipv4/ipmr.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-03-11 22:38:29 -0300
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-25 22:25:00 -0700
commit878c814500b123dd61a5e211879a32e5fd932713 (patch)
tree0b786fb195c104943f410483c1051ec0399efff5 /net/ipv4/ipmr.c
parentd56f90a7c96da5187f0cdf07ee7434fe6aa78bbc (diff)
[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 'net/ipv4/ipmr.c')
-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 4a8d99bca44..465459d59b2 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;