]> git.baikalelectronics.ru Git - kernel.git/commit
net: keep original skb which only needs header checking during software GSO
authorJason Wang <jasowang@redhat.com>
Fri, 19 Sep 2014 08:04:38 +0000 (16:04 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Sep 2014 18:57:08 +0000 (14:57 -0400)
commit3f3a3f6c29f8da091163f4f1b410eaec246bc71a
treeddc86a719057aeeec4616b4a3d762418c11ea3e9
parent72ba1b9f3242728a1cb9eee5ee2d7ce787b8505f
net: keep original skb which only needs header checking during software GSO

Commit c715164e5f35f0eaf0cd0da45954518dfc88e7ab ("net: Don't keep
around original SKB when we software segment GSO frames") frees the
original skb after software GSO even for dodgy gso skbs. This breaks
the stream throughput from untrusted sources, since only header
checking was done during software GSO instead of a true
segmentation. This patch fixes this by freeing the original gso skb
only when it was really segmented by software.

Fixes c715164e5f35f0eaf0cd0da45954518dfc88e7ab ("net: Don't keep
around original SKB when we software segment GSO frames.")

Cc: David S. Miller <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c