linux-stable/drivers/net/ethernet/sfc
Bert Kenward 61deee9628 sfc: don't try and read ef10 data on non-ef10 NIC
The MAC stats command takes a port ID, which doesn't exist on
pre-ef10 NICs (5000- and 6000- series). This is extracted from the
NIC specific data; we misinterpret this as the ef10 data structure,
causing us to read potentially unallocated data. With a KASAN kernel
this can cause errors with:
   BUG: KASAN: slab-out-of-bounds in efx_mcdi_mac_stats

Fixes: 0a2ab4d988 ("sfc: set the port-id when calling MC_CMD_MAC_STATS")
Reported-by: Stefano Brivio <sbrivio@redhat.com>
Tested-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Bert Kenward <bkenward@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-15 17:19:34 -07:00
..
falcon networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
Kconfig ethernet: sfc: Add Kconfig entry for vendor Solarflare 2016-12-20 14:19:38 -05:00
Makefile sfc: separate out SFC4000 ("Falcon") support into new sfc-falcon driver 2016-11-30 10:16:58 -05:00
bitfield.h sfc: process RX event inner checksum flags 2017-02-09 16:47:53 -05:00
ef10.c sfc: don't read beyond unicast address list 2017-07-12 14:41:06 -07:00
ef10_regs.h sfc: Update EF10 register definitions 2016-11-18 11:55:37 -05:00
ef10_sriov.c sfc: remove duplicate up_write on VF filter_sem 2017-06-20 15:40:00 -04:00
ef10_sriov.h sfc: support ndo_get_phys_port_id even when !CONFIG_SFC_SRIOV 2017-01-10 14:16:17 -05:00
efx.c sfc: limit the number of receive queues 2017-04-17 11:01:19 -04:00
efx.h net: propagate tc filter chain index down the ndo_setup_tc call 2017-06-08 09:55:53 -04:00
enum.h sfc: remove RESET_TYPE_RX_RECOVERY 2016-12-01 15:39:38 -05:00
ethtool.c sfc: process RX event inner checksum flags 2017-02-09 16:47:53 -05:00
farch.c sfc: read back RX hash config from the NIC when querying it with ethtool -x 2017-01-17 15:49:52 -05:00
farch_regs.h
filter.h sfc: insert catch-all filters for encapsulated traffic 2017-01-27 11:59:31 -05:00
io.h
mcdi.c sfc: correct comment on efx_mcdi_process_event 2017-07-01 15:24:06 -07:00
mcdi.h sfc: configure UDP tunnel offload ports 2017-02-09 16:47:53 -05:00
mcdi_mon.c sfc: remove EFX_BUG_ON_PARANOID, use EFX_WARN_ON_[ONCE_]PARANOID instead 2016-12-03 16:11:00 -05:00
mcdi_pcol.h scripts/spelling.txt: add "an one" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
mcdi_port.c sfc: don't try and read ef10 data on non-ef10 NIC 2017-08-15 17:19:34 -07:00
mtd.c
net_driver.h sfc: MSI-X is the only interrupt mode for EF10 VFs 2017-02-14 12:43:18 -05:00
nic.c sfc: work around TRIGGER_INTERRUPT command not working on SFC9140 2016-08-26 21:43:52 -07:00
nic.h sfc: revert changes to NIC revision numbers 2017-05-12 12:22:53 -04:00
ptp.c sfc: remove EFX_BUG_ON_PARANOID, use EFX_WARN_ON_[ONCE_]PARANOID instead 2016-12-03 16:11:00 -05:00
rx.c sfc: set csum_level for encapsulated packets 2017-02-09 16:47:53 -05:00
selftest.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
selftest.h sfc: work around TRIGGER_INTERRUPT command not working on SFC9140 2016-08-26 21:43:52 -07:00
siena.c sfc: MSI-X is the only interrupt mode for EF10 VFs 2017-02-14 12:43:18 -05:00
siena_sriov.c
siena_sriov.h
sriov.c sfc: support ndo_get_phys_port_id even when !CONFIG_SFC_SRIOV 2017-01-10 14:16:17 -05:00
sriov.h sfc: support ndo_get_phys_port_id even when !CONFIG_SFC_SRIOV 2017-01-10 14:16:17 -05:00
tx.c net: propagate tc filter chain index down the ndo_setup_tc call 2017-06-08 09:55:53 -04:00
tx.h sfc: Firmware-Assisted TSO version 2 2016-11-18 11:55:38 -05:00
tx_tso.c sfc: remove EFX_BUG_ON_PARANOID, use EFX_WARN_ON_[ONCE_]PARANOID instead 2016-12-03 16:11:00 -05:00
vfdi.h
workarounds.h sfc: tx ring can only have 2048 entries for all EF10 NICs 2017-04-25 11:19:21 -04:00