]> git.neil.brown.name Git - history.git/commit
[IPV6]: Fix packet quoting in icmpv6_send().
authorDavid S. Miller <davem@nuts.ninka.net>
Tue, 11 Nov 2003 17:34:37 +0000 (09:34 -0800)
committerDavid S. Miller <davem@nuts.ninka.net>
Tue, 11 Nov 2003 17:34:37 +0000 (09:34 -0800)
commit821ea9309d173e5c5a01628c0bd4567d505ba256
treecc19293ddd43a538c271f0c84c08a6a5061bb960
parenteab3e65d91b52410c7b0b251fa0d8ba8311e4c17
[IPV6]: Fix packet quoting in icmpv6_send().
- Mucking with the original skb pointers with push/pull around
  the packet quoting was wrong, muching with these pointers could
  cause problems with others using the SKB.

  It was also buggy, it only handled the case where skb->nh.raw was
  ahead of or equal to skb->data

- The fix is to record skb->nh.raw - skb->data and use this as
  a base offset in calls to skb_copy_and_csum_bits().  This is
  what the pre-IPSEC code did.

This fixes IPV6 oopses and packet corruption on 64-bit platforms
when sending UDP port unreachable ICMP messages.

Reported and analyzed by Jan Oravec (jan.oravec@6com.sk)
net/ipv6/icmp.c