diff options
author | David S. Miller <davem@nuts.ninka.net> | 2003-07-10 07:12:14 -0700 |
---|---|---|
committer | David S. Miller <davem@nuts.ninka.net> | 2003-07-10 07:12:14 -0700 |
commit | dc8b8b54d5c591f8d2275ce321691b58bd4526a9 (patch) | |
tree | 64cddd34611c6de651b4256afd1e1dd99bcef511 | |
parent | fabe5553b594b20f739511c0ec5a3409943c3129 (diff) | |
download | history-dc8b8b54d5c591f8d2275ce321691b58bd4526a9.tar.gz |
[IPV6]: Build and send redirect packet using "buff" not "skb", fixes OOPS.
-rw-r--r-- | net/ipv6/ndisc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index b7cca33ff75bd5..6c573e39e2829d 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -1366,11 +1366,11 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, hlen = 0; - skb_reserve(skb, (dev->hard_header_len + 15) & ~15); + skb_reserve(buff, (dev->hard_header_len + 15) & ~15); ip6_nd_hdr(sk, buff, dev, &saddr_buf, &skb->nh.ipv6h->saddr, IPPROTO_ICMPV6, len); - skb->h.raw = (unsigned char*) icmph = (struct icmp6hdr *) skb_put(buff, len); + buff->h.raw = (unsigned char*) icmph = (struct icmp6hdr *) skb_put(buff, len); memset(icmph, 0, sizeof(struct icmp6hdr)); icmph->icmp6_type = NDISC_REDIRECT; @@ -1408,9 +1408,9 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, len, IPPROTO_ICMPV6, csum_partial((u8 *) icmph, len, 0)); - skb->dst = dst; + buff->dst = dst; idev = in6_dev_get(dst->dev); - dst_output(skb); + dst_output(buff); ICMP6_INC_STATS(idev, Icmp6OutRedirects); ICMP6_INC_STATS(idev, Icmp6OutMsgs); |