]> git.baikalelectronics.ru Git - kernel.git/commit
gro: Fix use after free in tcp_gro_receive
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 17 Apr 2009 09:34:38 +0000 (02:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Apr 2009 09:34:38 +0000 (02:34 -0700)
commit276f93c69599d254b1cce3cd288348cc68e5785a
tree2477a32cab5f8afdb1c158f0b151048ee7afc594
parent2b0c0d3d4d2a6020471978a9a1ad96fa28bf03f4
gro: Fix use after free in tcp_gro_receive

After calling skb_gro_receive skb->len can no longer be relied
on since if the skb was merged using frags, then its pages will
have been removed and the length reduced.

This caused tcp_gro_receive to prematurely end merging which
resulted in suboptimal performance with ixgbe.

The fix is to store skb->len on the stack.

Reported-by: Mark Wagner <mwagner@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c