kernel-ark/include/net
Herbert Xu ef01578615 [TCP]: Fix sk_forward_alloc underflow in tcp_sendmsg
I've finally found a potential cause of the sk_forward_alloc underflows
that people have been reporting sporadically.

When tcp_sendmsg tacks on extra bits to an existing TCP_PAGE we don't
check sk_forward_alloc even though a large amount of time may have
elapsed since we allocated the page.  In the mean time someone could've
come along and liberated packets and reclaimed sk_forward_alloc memory.

This patch makes tcp_sendmsg check sk_forward_alloc every time as we
do in do_tcp_sendpages.
 
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-01 17:48:59 -07:00
..
bluetooth [NET]: Store skb->timestamp as offset to a base timestamp 2005-08-29 15:58:24 -07:00
irda
sctp [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
tc_act
act_api.h
act_generic.h
addrconf.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
af_unix.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
ah.h
arp.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
atmclip.h
ax25.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
checksum.h
compat.h
datalink.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dn.h [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
dsfield.h
dst.h
esp.h
flow.h
gen_stats.h
icmp.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
ieee80211.h
if_inet6.h
inet6_hashtables.h [INET6_HASHTABLES]: Move inet6_lookup functions to net/ipv6/inet6_hashtables.c 2005-08-29 15:57:29 -07:00
inet_common.h [INET]: Move the TCP hashtable functions/structs to inet_hashtables.[ch] 2005-08-29 15:38:39 -07:00
inet_connection_sock.h [INET]: compile errors when DEBUG is defined 2005-08-29 22:51:28 -07:00
inet_ecn.h
inet_hashtables.h [ICSK]: Generalise tcp_listen_{start,stop} 2005-08-29 15:49:24 -07:00
inet_timewait_sock.h [TIMEWAIT]: Move inet_timewait_death_row routines to net/ipv4/inet_timewait_sock.c 2005-08-29 15:55:58 -07:00
inetpeer.h
ip6_checksum.h
ip6_fib.h
ip6_route.h [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
ip6_tunnel.h
ip_fib.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
ip_mp_alg.h
ip_vs.h [IPVS]: "extern inline" -> "static inline" 2005-09-01 17:40:26 -07:00
ip.h [IP]: Introduce ip_options_get_from_user 2005-08-29 16:01:39 -07:00
ipcomp.h
ipconfig.h
ipip.h
ipv6.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
ipx.h
iw_handler.h
lapb.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
llc.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
ndisc.h
neighbour.h [NET]: Store skb->timestamp as offset to a base timestamp 2005-08-29 15:58:24 -07:00
netrom.h
p8022.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
pkt_act.h
pkt_cls.h [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
pkt_sched.h
protocol.h
psnap.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
raw.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
rawv6.h [IPV4/6]: Check if packet was actually delivered to a raw socket to decide whether to send an ICMP unreachable 2005-08-29 15:37:22 -07:00
request_sock.h [ICSK]: Move generalised functions from tcp to inet_connection_sock 2005-08-29 15:49:50 -07:00
rose.h
route.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
sch_generic.h
scm.h
slhc_vj.h
snmp.h
sock.h [TCP]: Fix sk_forward_alloc underflow in tcp_sendmsg 2005-09-01 17:48:59 -07:00
syncppp.h
tcp_ecn.h [NET]: Introduce inet_connection_sock 2005-08-29 15:43:19 -07:00
tcp_states.h [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
tcp.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
transp_v6.h
udp.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
x25.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
x25device.h [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
xfrm.h [IPV4]: possible cleanups 2005-08-29 15:33:20 -07:00