diff options
author | Eric Dumazet <edumazet@google.com> | 2012-05-02 09:55:58 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-03 03:11:11 +0200 |
commit | 923dd347b8904c24bcac89bf038ed4da87f8aa90 (patch) | |
tree | d329204cb40e4d13e07ffc538fd9978c334ef90c /include/net/tcp.h | |
parent | be2net: Fix EEH error reset before a flash dump completes (diff) | |
download | linux-923dd347b8904c24bcac89bf038ed4da87f8aa90.tar.xz linux-923dd347b8904c24bcac89bf038ed4da87f8aa90.zip |
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 'include/net/tcp.h')
0 files changed, 0 insertions, 0 deletions