mirror_ubuntu-kernels/drivers/net/ethernet/sfc
Edward Cree ae074e2b2f sfc: check for zero length in EF10 RX prefix
When EF10 RXDP firmware is operating in cut-through mode, packet length
 is not known at the time the RX prefix is generated, so it is left as
 zero and RX event merging is inhibited to ensure that the length is
 available in the RX event.  However, it has been found that in certain
 circumstances the RX events for these packets still get merged,
 meaning the driver cannot read the length from the RX event, and tries
 to use the length from the prefix.
The resulting zero-length SKBs cause crashes in GRO since commit
 1d11fa6967 ("net-gro: remove GRO_DROP"), so add a check to the driver
 to detect these zero-length RX events and discard the packet.

Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-09-01 08:14:57 +01:00
..
falcon sfc: allocate a big enough SKB for loopback selftest packet 2023-08-22 11:09:53 -07:00
siena sfc: allocate a big enough SKB for loopback selftest packet 2023-08-22 11:09:53 -07:00
bitfield.h sfc: offload left-hand side rules for conntrack 2023-08-09 11:14:38 +01:00
ef10_regs.h
ef10_sriov.c sfc: move table locking into filter_table_{probe,remove} methods 2022-07-29 21:22:06 -07:00
ef10_sriov.h sfc: Remove some NIC type indirections that are no longer needed 2023-07-28 09:54:17 +01:00
ef10.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
ef100_ethtool.c sfc: remove 'log-tc-errors' ethtool private flag 2022-10-19 13:00:05 -07:00
ef100_ethtool.h
ef100_netdev.c sfc: neighbour lookup for TC encap action offload 2023-06-10 00:11:49 -07:00
ef100_netdev.h sfc: hook up ef100 representor TX 2022-07-22 12:50:06 +01:00
ef100_nic.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-18 12:44:56 -07:00
ef100_nic.h sfc: add support for devlink port_function_hw_addr_get in ef100 2023-02-16 12:03:13 +01:00
ef100_regs.h sfc: update EF100 register descriptions 2022-07-22 12:50:06 +01:00
ef100_rep.c sfc: add support for devlink port_function_hw_addr_get in ef100 2023-02-16 12:03:13 +01:00
ef100_rep.h sfc: add support for devlink port_function_hw_addr_get in ef100 2023-02-16 12:03:13 +01:00
ef100_rx.c sfc: add ability for extra channels to receive raw RX buffers 2022-11-16 09:07:02 +00:00
ef100_rx.h
ef100_sriov.c sfc: add skeleton ef100 VF representors 2022-07-22 12:50:06 +01:00
ef100_sriov.h sfc: add skeleton ef100 VF representors 2022-07-22 12:50:06 +01:00
ef100_tx.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
ef100_tx.h sfc: use budget for TX completions 2023-06-17 00:06:55 -07:00
ef100.c sfc_ef100: Drop redundant pci_disable_pcie_error_reporting() 2023-03-08 23:34:39 -08:00
ef100.h
efx_channels.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
efx_channels.h
efx_common.c sfc: Miscellaneous comment removals 2023-07-28 09:54:18 +01:00
efx_common.h sfc: attach/detach EF100 representors along with their owning PF 2022-07-22 12:50:06 +01:00
efx_devlink.c sfc: support for devlink port requires MAE access 2023-06-29 11:10:27 -07:00
efx_devlink.h sfc: add devlink port support for ef100 2023-02-16 12:03:12 +01:00
efx.c sfc: Remove support for siena high priority queue 2023-07-28 09:54:17 +01:00
efx.h sfc: Remove support for siena high priority queue 2023-07-28 09:54:17 +01:00
enum.h
ethtool_common.c sfc: remove 'log-tc-errors' ethtool private flag 2022-10-19 13:00:05 -07:00
ethtool_common.h sfc: remove 'log-tc-errors' ethtool private flag 2022-10-19 13:00:05 -07:00
ethtool.c sfc: Encapsulate access to netdev_priv() 2022-06-29 13:40:47 +01:00
filter.h sfc: Miscellaneous comment removals 2023-07-28 09:54:18 +01:00
io.h sfc: Cleanups in io.h 2023-07-28 09:54:18 +01:00
Kconfig sfc: add CONFIG_INET dependency for TC offload 2023-06-20 20:37:16 -07:00
mae_counter_format.h sfc: add extra RX channel to receive MAE counter updates on ef100 2022-11-16 09:07:02 +00:00
mae.c sfc: add decrement ttl by offloading set ipv4 ttl actions 2023-08-27 06:56:54 +01:00
mae.h sfc: introduce ethernet pedit set action infrastructure 2023-08-27 06:56:54 +01:00
Makefile sfc: functions to register for conntrack zone offload 2023-08-09 11:14:37 +01:00
mcdi_filters.c sfc: use a dynamic m-port for representor RX and set it promisc 2022-07-29 21:22:07 -07:00
mcdi_filters.h sfc: move table locking into filter_table_{probe,remove} methods 2022-07-29 21:22:06 -07:00
mcdi_functions.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
mcdi_functions.h
mcdi_mon.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
mcdi_pcol_mae.h sfc: insert default MAE rules to connect VFs to representors 2022-07-29 21:22:06 -07:00
mcdi_pcol.h sfc: update MCDI protocol headers 2022-07-19 13:37:04 -07:00
mcdi_port_common.c sfc: Filter cleanups for Falcon and Siena 2023-07-28 09:54:17 +01:00
mcdi_port_common.h
mcdi_port.c sfc: Encapsulate access to netdev_priv() 2022-06-29 13:40:47 +01:00
mcdi_port.h
mcdi.c sfc: Remove some NIC type indirections that are no longer needed 2023-07-28 09:54:17 +01:00
mcdi.h sfc: offload left-hand side rules for conntrack 2023-08-09 11:14:38 +01:00
mtd.c
net_driver.h sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
nic_common.h sfc: Miscellaneous comment removals 2023-07-28 09:54:18 +01:00
nic.c sfc: Cleanups in io.h 2023-07-28 09:54:18 +01:00
nic.h sfc: Remove siena_nic_data and stats 2023-07-28 09:54:17 +01:00
ptp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-29 07:44:56 +02:00
ptp.h
rx_common.c sfc: add ability for an RXQ to grant credits on refill 2022-11-16 09:07:02 +00:00
rx_common.h
rx.c sfc: check for zero length in EF10 RX prefix 2023-09-01 08:14:57 +01:00
selftest.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-24 10:51:39 -07:00
selftest.h
sriov.c sfc: Encapsulate access to netdev_priv() 2022-06-29 13:40:47 +01:00
sriov.h
tc_bindings.c sfc: neighbour lookup for TC encap action offload 2023-06-10 00:11:49 -07:00
tc_bindings.h sfc: do not try to call tc functions when CONFIG_SFC_SRIOV=n 2023-06-16 09:12:18 +01:00
tc_conntrack.c sfc: Remove unneeded semicolon 2023-08-18 15:17:23 -07:00
tc_conntrack.h sfc: handle non-zero chain_index on TC rules 2023-08-09 11:14:38 +01:00
tc_counters.c sfc: offload conntrack flow entries (match only) from CT zones 2023-08-09 11:14:38 +01:00
tc_counters.h sfc: offload conntrack flow entries (match only) from CT zones 2023-08-09 11:14:38 +01:00
tc_encap_actions.c sfc: fix uninitialized variable use 2023-06-20 20:37:16 -07:00
tc_encap_actions.h sfc: do not try to call tc functions when CONFIG_SFC_SRIOV=n 2023-06-16 09:12:18 +01:00
tc.c sfc: extend pedit add action to handle decrement ipv6 hop limit 2023-08-27 06:56:54 +01:00
tc.h sfc: add decrement ttl by offloading set ipv4 ttl actions 2023-08-27 06:56:54 +01:00
tx_common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-22 18:40:38 -07:00
tx_common.h sfc: use budget for TX completions 2023-06-17 00:06:55 -07:00
tx_tso.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
tx.c sfc: Remove support for siena high priority queue 2023-07-28 09:54:17 +01:00
tx.h
workarounds.h sfc: Remove EFX_REV_SIENA_A0 2023-07-28 09:54:17 +01:00