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
[AF_IUCV]: postpone receival of iucv-packets
2007-10-10 16:54:51 -07:00
netfilter
[INET]: Collect common frag sysctl variables together
2007-10-15 12:26:40 -07:00
sctp
SCTP: Clean-up some defines for regressions tests.
2007-11-09 11:43:41 -05:00
tc_act
[PKT_SCHED]: Add stateless NAT
2007-10-10 16:53:11 -07:00
tipc
[TIPC]: Optimize stream send routine to avoid fragmentation
2007-07-10 22:06:12 -07:00
act_api.h
[NET_SCHED]: Kill CONFIG_NET_CLS_POLICE
2007-07-15 00:03:05 -07:00
addrconf.h
[IPV6] MIP6: Loadable module support for MIPv6.
2007-07-10 22:15:42 -07:00
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
[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr
2007-10-10 16:55:55 -07:00
arp.h
atmclip.h
ax25.h
[NET]: Move hardware header operations out of netdevice.
2007-10-10 16:52:52 -07:00
ax88796.h
ax88796: add 93cx6 eeprom support
2007-10-10 16:53:56 -07:00
cfg80211.h
[NL80211]: add netlink interface to cfg80211
2007-10-10 16:52:14 -07:00
checksum.h
cipso_ipv4.h
compat.h
datalink.h
dn.h
[DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h
2007-07-10 23:02:12 -07:00
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
[NET]: Wrap netdevice hardware header creation.
2007-10-10 16:52:50 -07:00
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
[IPV6] MIP6: Kill unnecessary ifdefs.
2007-07-10 22:15:41 -07:00
gen_stats.h
genetlink.h
[GENETLINK]: Dynamic multicast groups.
2007-07-18 15:47:52 -07:00
icmp.h
[IPV4]: Add ICMPMsgStats MIB (RFC 4293)
2007-10-10 16:51:28 -07:00
ieee80211.h
[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()
2007-10-10 16:51:42 -07:00
ieee80211_crypt.h
ieee80211_radiotap.h
[MAC80211]: Add get_unaligned to ieee80211_get_radiotap_len
2007-10-10 16:47:40 -07:00
ieee80211softmac.h
[IEEE80211]: Fix softmac lockdep reports.
2007-10-10 16:52:22 -07:00
ieee80211softmac_wx.h
if_inet6.h
[IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2]
2007-10-10 16:51:27 -07:00
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
[NET]: Add a network namespace parameter to struct sock
2007-10-10 16:49:05 -07:00
inetpeer.h
[INET]: Use list_head-s in inetpeer.c
2007-11-12 21:27:28 -08:00
ip.h
[INET]: Consolidate the xxx_evictor
2007-10-15 12:26:42 -07:00
ip6_checksum.h
ip6_fib.h
[IPV6] XFRM: Fix connected socket to use transformation.
2007-10-10 16:48:32 -07:00
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
[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr
2007-10-10 16:55:55 -07:00
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
[NL80211]: add netlink interface to cfg80211
2007-10-10 16:52:14 -07:00
lapb.h
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
[NET]: Make socket creation namespace safe.
2007-10-10 16:49:07 -07:00
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
[IPV6] MIP6: Loadable module support for MIPv6.
2007-07-10 22:15:42 -07:00
ndisc.h
[IPv6]: Export userland ND options through netlink (RDNSS support)
2007-10-10 21:22:05 -07:00
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
SELinux: restore proper NetLabel caching behavior
2007-08-02 11:52:21 -04:00
netlink.h
[NET]: make netlink user -> kernel interface synchronious
2007-10-10 21:15:29 -07:00
netrom.h
nexthop.h
p8022.h
pkt_cls.h
[NET]: Make the device list and device lookups per namespace.
2007-10-10 16:49:10 -07:00
pkt_sched.h
[NET]: Move hardware header operations out of netdevice.
2007-10-10 16:52:52 -07:00
protocol.h
[IPV6]: Replace sk_buff ** with sk_buff * in input handlers
2007-10-15 12:50:28 -07:00
psnap.h
raw.h
rawv6.h
[IPV6] MIP6: Loadable module support for MIPv6.
2007-07-10 22:15:42 -07:00
red.h
request_sock.h
rose.h
[ROSE]: Fix rose.ko oops on unload
2007-10-07 23:44:17 -07:00
route.h
[IPV4]: Make ip_tos2prio const.
2007-07-10 22:19:04 -07:00
rtnetlink.h
[NET]: Make the device list and device lookups per namespace.
2007-10-10 16:49:10 -07:00
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
[IPV4]: Add ICMPMsgStats MIB (RFC 4293)
2007-10-10 16:51:28 -07:00
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
[NET]: Virtual ethernet device driver.
2007-10-10 16:47:46 -07:00
wext.h
[NET]: Make the device list and device lookups per namespace.
2007-10-10 16:49:10 -07:00
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