From: Arnaldo Carvalho de Melo Date: Sat, 10 Mar 2007 22:15:25 +0000 (-0300) Subject: [SK_BUFF]: Some more skb_put cases converted to skb_reset_network_header X-Git-Tag: v2.6.22-rc1~1128^2~342 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ca9e6f2c2a4117d21947e911ae1f5e5306b0df0;p=linux-2.6 [SK_BUFF]: Some more skb_put cases converted to skb_reset_network_header Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller --- diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index d329718a8e..dde51fb72c 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -1126,7 +1126,8 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, * Find where to start putting bytes. */ data = skb_put(skb, fragheaderlen + fraggap); - skb->nh.iph = iph = (struct iphdr *)data; + skb_reset_network_header(skb); + iph = skb->nh.iph; data += fragheaderlen; skb->h.raw = data; diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index c5e41644c8..f8ab654b6a 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -296,8 +296,9 @@ void ip_local_error(struct sock *sk, int err, __be32 daddr, __be16 port, u32 inf if (!skb) return; - iph = (struct iphdr*)skb_put(skb, sizeof(struct iphdr)); - skb->nh.iph = iph; + skb_put(skb, sizeof(struct iphdr)); + skb_reset_network_header(skb); + iph = skb->nh.iph; iph->daddr = daddr; serr = SKB_EXT_ERR(skb);