linux/net/core
Herbert Xu 69c0cab120 gro: Fix illegal merging of trailer trash
When we've merged skb's with page frags, and subsequently receive
a trailer skb (< MSS) that is not completely non-linear (this can
occur on Intel NICs if the packet size falls below the threshold),
GRO ends up producing an illegal GSO skb with a frag_list.

This is harmless unless the skb is then forwarded through an
interface that requires software GSO, whereupon the GSO code
will BUG.

This patch detects this case in GRO and avoids merging the
trailer skb.

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>
2009-11-17 05:18:18 -08:00
..
Makefile
datagram.c net: fix sk_forward_alloc corruption 2009-10-30 12:25:12 -07:00
dev.c net: Fix the rollback test in dev_change_name() 2009-11-16 03:30:35 -08:00
dev_mcast.c
drop_monitor.c net: drop_monitor: make last_rx timestamp private 2009-09-02 14:37:45 -07:00
dst.c
ethtool.c net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file. 2009-09-02 23:07:39 -07:00
fib_rules.c
filter.c
flow.c
gen_estimator.c net: restore gnet_stats_basic to previous definition 2009-08-17 21:33:49 -07:00
gen_stats.c net: restore gnet_stats_basic to previous definition 2009-08-17 21:33:49 -07:00
iovec.c
kmap_skb.h
link_watch.c
neighbour.c neigh: Convert garbage collection from softirq to workqueue 2009-08-02 18:35:16 -07:00
net-sysfs.c wext: let get_wireless_stats() sleep 2009-10-05 02:22:23 -07:00
net-sysfs.h
net-traces.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
net_namespace.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
netevent.c
netpoll.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-02 00:32:56 -07:00
pktgen.c pktgen: Dont leak kernel memory 2009-10-24 06:55:20 -07:00
request_sock.c
rtnetlink.c net_sched: reintroduce dev->qdisc for use by sch_api 2009-09-06 02:07:03 -07:00
scm.c
skb_dma_map.c
skbuff.c gro: Fix illegal merging of trailer trash 2009-11-17 05:18:18 -08:00
sock.c net: Fix sock_wfree() race 2009-09-30 16:20:38 -07:00
stream.c
sysctl_net_core.c
user_dma.c net/core/user_dma.c: Use frag list abstraction interfaces. 2009-06-09 00:19:10 -07:00
utils.c