diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-03-10 19:15:25 -0300 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-25 22:24:51 -0700 |
commit | 2ca9e6f2c2a4117d21947e911ae1f5e5306b0df0 (patch) | |
tree | f303929b784c744e52eae5a2e42b6190ca123f71 /net | |
parent | 31c7711b509d470ab1e175e7bb98ea66a82aa916 (diff) |
[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>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/ip_output.c | 3 | ||||
-rw-r--r-- | net/ipv4/ip_sockglue.c | 5 |
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); |