1
linux/net
Herbert Xu ef5cb9738b [TCP]: Fix truesize underflow
There is a problem with the TSO packet trimming code.  The cause of
this lies in the tcp_fragment() function.

When we allocate a fragment for a completely non-linear packet the
truesize is calculated for a payload length of zero.  This means that
truesize could in fact be less than the real payload length.

When that happens the TSO packet trimming can cause truesize to become
negative.  This in turn can cause sk_forward_alloc to be -n * PAGE_SIZE
which would trigger the warning.

I've copied the code DaveM used in tso_fragment which should work here.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-04-18 15:57:49 -07:00
..
802 [SNAP]: Remove leftover unused hdr variable 2006-03-20 22:45:37 -08:00
8021q [NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum 2006-03-20 22:43:56 -08:00
appletalk [NET]: Fix ipx/econet/appletalk/irda ioctl crashes 2006-03-28 17:02:43 -08:00
atm [ATM] clip: add module info 2006-04-14 16:01:26 -07:00
ax25 [AX.25]: Fix potencial memory hole. 2006-03-19 13:20:06 -08:00
bluetooth [BLUETOOTH] sco: Possible double free. 2006-04-09 22:25:29 -07:00
bridge [BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c 2006-04-11 17:25:38 -07:00
core [PATCH] for_each_possible_cpu: network codes 2006-04-11 06:18:31 -07:00
dccp [DCCP]: Fix leak in net/dccp/ipv4.c 2006-04-11 17:21:06 -07:00
decnet [DECNET]: Fix refcount 2006-03-29 13:57:31 -08:00
econet [ECONET]: Convert away from SOCKOPS_WRAPPED 2006-03-28 17:02:43 -08:00
ethernet [NET] ethernet: Fix first packet goes out with MAC 00:00:00:00:00:00 2006-02-23 16:18:01 -08:00
ieee80211 [PATCH] softmac: reduce default rate to 11Mbps. 2006-03-27 14:04:13 -05:00
ipv4 [TCP]: Fix truesize underflow 2006-04-18 15:57:49 -07:00
ipv6 [IPv6] reassembly: Always compute hash under the fragment lock. 2006-04-11 17:21:05 -07:00
ipx [NET]: Fix ipx/econet/appletalk/irda ioctl crashes 2006-03-28 17:02:43 -08:00
irda [NET]: Fix ipx/econet/appletalk/irda ioctl crashes 2006-03-28 17:02:43 -08:00
key [NET] sem2mutex: net/ 2006-03-20 22:33:17 -08:00
lapb [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
llc [LLC]: llc_mac_hdr_init const arguments 2006-03-20 22:59:36 -08:00
netfilter [PATCH] for_each_possible_cpu: network codes 2006-04-11 06:18:31 -07:00
netlink [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
netrom [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
packet [NET]: Fix some whitespace issues in af_packet.c 2006-01-23 16:28:02 -08:00
rose [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
rxrpc [PATCH] fix 'defined but not used' warning in net/rxrpc/main.c::rxrpc_initialise 2006-03-25 08:22:52 -08:00
sched [PKT_SCHED] act_police: Rename methods. 2006-04-09 22:25:46 -07:00
sctp [PATCH] for_each_possible_cpu: network codes 2006-04-11 06:18:31 -07:00
sunrpc [PATCH] knfsd: svcrpc: gss: don't call svc_take_page unnecessarily 2006-04-11 06:18:52 -07:00
tipc [PATCH] s/;;/;/g 2006-03-24 07:33:24 -08:00
unix [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
wanrouter [WAN]: Remove broken and unmaintained Sangoma drivers. 2006-04-11 17:28:33 -07:00
x25 [X25]: dte facilities 32 64 ioctl conversion 2006-03-22 00:02:00 -08:00
xfrm [XFRM]: Fix aevent timer. 2006-04-14 15:03:05 -07:00
compat.c [NETFILTER]: iptables 32bit compat layer 2006-04-01 02:25:19 -08:00
Kconfig Merge branch 'master' 2006-02-07 01:47:12 -05:00
Makefile [TIPC] Initial merge 2006-01-12 14:06:31 -08:00
nonet.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
socket.c Merge branch 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-04-11 06:34:02 -07:00
sysctl_net.c [NET]: Fix "sysctl_net.c:36: error: 'core_table' undeclared here" 2005-10-03 14:16:34 -07:00
TUNABLE