diff options
author | Eric Dumazet <edumazet@google.com> | 2012-05-02 07:55:58 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-03 01:11:11 (GMT) |
commit | 923dd347b8904c24bcac89bf038ed4da87f8aa90 (patch) | |
tree | d329204cb40e4d13e07ffc538fd9978c334ef90c /net/ipv4/xfrm4_tunnel.c | |
parent | eeb7fc7bc095546b21188e8e076a59bce73f9ca6 (diff) | |
download | linux-fsl-qoriq-923dd347b8904c24bcac89bf038ed4da87f8aa90.tar.xz |
net: take care of cloned skbs in tcp_try_coalesce()
Before stealing fragments or skb head, we must make sure skbs are not
cloned.
Alexander was worried about destination skb being cloned : In bridge
setups, a driver could be fooled if skb->data_len would not match skb
nr_frags.
If source skb is cloned, we must take references on pages instead.
Bug happened using tcpdump (if not using mmap())
Introduce kfree_skb_partial() helper to cleanup code.
Reported-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/xfrm4_tunnel.c')
0 files changed, 0 insertions, 0 deletions