summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-03-11 01:15:25 +0300
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 09:24:51 +0400
commit2ca9e6f2c2a4117d21947e911ae1f5e5306b0df0 (patch)
treef303929b784c744e52eae5a2e42b6190ca123f71
parent31c7711b509d470ab1e175e7bb98ea66a82aa916 (diff)
downloadlinux-2ca9e6f2c2a4117d21947e911ae1f5e5306b0df0.tar.xz
[SK_BUFF]: Some more skb_put cases converted to skb_reset_network_header
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/ip_output.c3
-rw-r--r--net/ipv4/ip_sockglue.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index d329718a8e8c..dde51fb72cda 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 c5e41644c80d..f8ab654b6a35 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);