linux/include/net
Herbert Xu fb93134dfc [TCP]: Fix size calculation in sk_stream_alloc_pskb
We round up the header size in sk_stream_alloc_pskb so that
TSO packets get zero tail room.  Unfortunately this rounding
up is not coordinated with the select_size() function used by
TCP to calculate the second parameter of sk_stream_alloc_pskb.

As a result, we may allocate more than a page of data in the
non-TSO case when exactly one page is desired.

In fact, rounding up the head room is detrimental in the non-TSO
case because it makes memory that would otherwise be available to
the payload head room.  TSO doesn't need this either, all it wants
is the guarantee that there is no tail room.

So this patch fixes this by adjusting the skb_reserve call so that
exactly the requested amount (which all callers have calculated in
a precise way) is made available as tail room.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-11-14 15:45:21 -08:00
..
9p Use helpers to obtain task pid in printks 2007-10-19 11:53:43 -07:00
bluetooth [Bluetooth] Add support for handling simple eSCO links 2007-10-22 02:59:47 -07:00
irda [IRDA]: Make ircomm_tty static. 2007-10-26 03:56:43 -07:00
iucv
netfilter
sctp SCTP: Clean-up some defines for regressions tests. 2007-11-09 11:43:41 -05:00
tc_act
tipc
act_api.h
addrconf.h
af_rxrpc.h
af_unix.h [AF_UNIX]: Make unix_tot_inflight counter non-atomic 2007-11-10 22:06:01 -08:00
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
cfg80211.h
checksum.h
cipso_ipv4.h
compat.h
datalink.h
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsfield.h
dst.h [NET]: Make helper to get dst entry and "use" it 2007-11-10 21:28:34 -08:00
esp.h cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
fib_rules.h [INET]: Small possible memory leak in FIB rules 2007-11-10 22:12:03 -08:00
flow.h
gen_stats.h
genetlink.h
icmp.h
ieee80211.h
ieee80211_crypt.h
ieee80211_radiotap.h
ieee80211softmac.h
ieee80211softmac_wx.h
if_inet6.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h [INET]: Remove leftover prototypes from include/net/inet_common.h 2007-11-12 21:02:51 -08:00
inet_connection_sock.h
inet_ecn.h
inet_frag.h [INET]: Remove no longer needed ->equal callback 2007-10-17 19:47:56 -07:00
inet_hashtables.h [INET]: Add a missing include <linux/vmalloc.h> to inet_hashtables.h 2007-11-10 21:18:39 -08:00
inet_sock.h [UDP]: Make use of inet_iif() when doing socket lookups. 2007-10-25 18:54:46 -07:00
inet_timewait_sock.h
inetpeer.h [INET]: Use list_head-s in inetpeer.c 2007-11-12 21:27:28 -08:00
ip.h
ip6_checksum.h
ip6_fib.h
ip6_route.h
ip6_tunnel.h
ip_fib.h [IPV4]: Compact some ifdefs in the fib code. 2007-11-07 04:11:41 -08:00
ip_vs.h [IPVS]: Synchronize closing of Connections 2007-11-07 04:15:10 -08:00
ipcomp.h
ipconfig.h
ipip.h
ipv6.h [INET]: Remove no longer needed ->equal callback 2007-10-17 19:47:56 -07:00
ipx.h
iw_handler.h
lapb.h
llc.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
mac80211.h mac80211: remove unused driver ops 2007-11-10 22:01:15 -08:00
mip6.h
ndisc.h
neighbour.h
net_namespace.h [NET]: Move unneeded data to initdata section. 2007-11-13 03:23:50 -08:00
netdma.h
netevent.h
netlabel.h
netlink.h
netrom.h
nexthop.h
p8022.h
pkt_cls.h
pkt_sched.h
protocol.h
psnap.h
raw.h
rawv6.h
red.h
request_sock.h
rose.h
route.h
rtnetlink.h
sch_generic.h [NET_CLS_ACT]: Introduce skb_act_clone 2007-10-26 02:47:23 -07:00
scm.h pid namespaces: changes to show virtual ids to user 2007-10-19 11:53:40 -07:00
slhc_vj.h
snmp.h
sock.h [TCP]: Fix size calculation in sk_stream_alloc_pskb 2007-11-14 15:45:21 -08:00
syncppp.h
tcp.h [TCP]: Remove unneeded implicit type cast when calling tcp_minshall_update() 2007-10-23 21:27:55 -07:00
tcp_states.h
timewait_sock.h
transp_v6.h
udp.h
udplite.h
veth.h
wext.h
wireless.h
x25.h
x25device.h
xfrm.h [NET]: Don't declare extern variables in net/core/sysctl_net_core.c 2007-10-23 21:27:56 -07:00