diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-12-09 23:41:06 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-01-03 03:33:52 +0000 |
commit | 3bbb42f09dd86794f0ae82bdcbd511810d4ff2db (patch) | |
tree | 555c2ccf8bedde7935748d8f01c2449063229871 /drivers/net/usb/ipheth.c | |
parent | 38130178c3fb8160ce443c053e6d3082399ae69e (diff) |
ipv4: ip_check_defrag must not modify skb before unsharing
[ Upstream commit 1bf3751ec90cc3174e01f0d701e8449ce163d113 ]
ip_check_defrag() might be called from af_packet within the
RX path where shared SKBs are used, so it must not modify
the input SKB before it has unshared it for defragmentation.
Use skb_copy_bits() to get the IP header and only pull in
everything later.
The same is true for the other caller in macvlan as it is
called from dev->rx_handler which can also get a shared SKB.
Reported-by: Eric Leblond <eric@regit.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/net/usb/ipheth.c')
0 files changed, 0 insertions, 0 deletions