linux-uconsole/drivers/net/sfc
Ben Hutchings 8a15a4b44f sfc: Fix maximum number of TSO segments and minimum TX queue size
[ Upstream commit 7e6d06f0de ]

Currently an skb requiring TSO may not fit within a minimum-size TX
queue.  The TX queue selected for the skb may stall and trigger the TX
watchdog repeatedly (since the problem skb will be retried after the
TX reset).  This issue is designated as CVE-2012-3412.

Set the maximum number of TSO segments for our devices to 100.  This
should make no difference to behaviour unless the actual MSS is less
than about 700.  Increase the minimum TX queue size accordingly to
allow for 2 worst-case skbs, so that there will definitely be space
to add an skb after we wake a queue.

To avoid invalidating existing configurations, change
efx_ethtool_set_ringparam() to fix up values that are too small rather
than returning -EINVAL.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:04 -07:00
..
bitfield.h
efx.c sfc: Fix maximum number of TSO segments and minimum TX queue size 2012-10-02 09:47:04 -07:00
efx.h sfc: Fix maximum number of TSO segments and minimum TX queue size 2012-10-02 09:47:04 -07:00
enum.h
ethtool.c sfc: Fix maximum number of TSO segments and minimum TX queue size 2012-10-02 09:47:04 -07:00
falcon.c sfc: make function tables const 2011-04-14 21:53:42 -07:00
falcon_boards.c sfc: Update copyright dates 2011-02-28 23:57:24 +00:00
falcon_xmac.c sfc: make function tables const 2011-04-14 21:53:42 -07:00
filter.c sfc: Implement hardware acceleration of RFS 2011-02-17 21:00:33 +00:00
filter.h
io.h Revert "sfc: Use write-combining to reduce TX latency" and follow-ups 2011-10-03 11:40:53 -07:00
Kconfig
mac.h sfc: make function tables const 2011-04-14 21:53:42 -07:00
Makefile
mcdi.c Revert "sfc: Use write-combining to reduce TX latency" and follow-ups 2011-10-03 11:40:53 -07:00
mcdi.h sfc: Update copyright dates 2011-02-28 23:57:24 +00:00
mcdi_mac.c sfc: make function tables const 2011-04-14 21:53:42 -07:00
mcdi_pcol.h Fix common misspellings 2011-03-31 11:26:23 -03:00
mcdi_phy.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
mdio_10g.c sfc: Don't use enums as a bitmask. 2011-05-17 17:53:22 -04:00
mdio_10g.h sfc: Don't use enums as a bitmask. 2011-05-17 17:53:22 -04:00
mtd.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
net_driver.h sfc: Don't use enums as a bitmask. 2011-05-17 17:53:22 -04:00
nic.c Revert "sfc: Use write-combining to reduce TX latency" and follow-ups 2011-10-03 11:40:53 -07:00
nic.h sfc: Fix maximum number of TSO segments and minimum TX queue size 2012-10-02 09:47:04 -07:00
phy.h sfc: make function tables const 2011-04-14 21:53:42 -07:00
qt202x_phy.c sfc: make function tables const 2011-04-14 21:53:42 -07:00
regs.h sfc: Update copyright dates 2011-02-28 23:57:24 +00:00
rx.c sfc: Fix assignment of ip_summed for pre-allocated skbs 2012-03-19 08:57:59 -07:00
selftest.c sfc: Use netif_device_{detach,attach}() around reset and self-test 2011-05-16 23:34:28 +01:00
selftest.h sfc: Update copyright dates 2011-02-28 23:57:24 +00:00
siena.c Revert "sfc: Use write-combining to reduce TX latency" and follow-ups 2011-10-03 11:40:53 -07:00
spi.h sfc: Update copyright dates 2011-02-28 23:57:24 +00:00
tenxpress.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
tx.c sfc: Fix maximum number of TSO segments and minimum TX queue size 2012-10-02 09:47:04 -07:00
txc43128_phy.c sfc: make function tables const 2011-04-14 21:53:42 -07:00
workarounds.h Revert "sfc: Use write-combining to reduce TX latency" and follow-ups 2011-10-03 11:40:53 -07:00