[SK_BUFF] ipmr: Another skb_push related conversion to skb_reset_network_header
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 12 Mar 2007 01:38:29 +0000 (22:38 -0300)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Apr 2007 05:25:00 +0000 (22:25 -0700)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipmr.c

index 4a8d99bca4417d76dd95a01067d4c78befca8c35..465459d59b21045684d9ba1f7f80df43cf280c48 100644 (file)
@@ -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;