sfc: check for zero length in EF10 RX prefix
authorEdward Cree <ecree.xilinx@gmail.com>
Thu, 31 Aug 2023 16:58:11 +0000 (17:58 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Sep 2023 07:14:57 +0000 (08:14 +0100)
commitae074e2b2fd410bf54d56509a7e48fb83873af3b
treed58ee958d53fa2ff55150666098f6f29f134fd2d
parentd8a30706fea64330ae7333f77945ba040b075717
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
 1d11fa696733 ("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>
drivers/net/ethernet/sfc/rx.c