mbox series

[net,0/3] net: bcmgenet: use hardware padding of runt frames

Message ID 1593047695-45803-1-git-send-email-opendmb@gmail.com
Headers show
Series net: bcmgenet: use hardware padding of runt frames | expand

Message

Doug Berger June 25, 2020, 1:14 a.m. UTC
Now that scatter-gather and tx-checksumming are enabled by default
it revealed a packet corruption issue that can occur for very short
fragmented packets.

When padding these frames to the minimum length it is possible for
the non-linear (fragment) data to be added to the end of the linear
header in an SKB. Since the number of fragments is read before the
padding and used afterward without reloading, the fragment that
should have been consumed can be tacked on in place of part of the
padding.

The third commit in this set corrects this by removing the software
padding and allowing the hardware to add the pad bytes if necessary.

The first two commits resolve warnings observed by the kbuild test
robot and are included here for simplicity of application.

Doug Berger (3):
  net: bcmgenet: re-remove bcmgenet_hfb_add_filter
  net: bcmgenet: use __be16 for htons(ETH_P_IP)
  net: bcmgenet: use hardware padding of runt frames

 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 88 ++------------------------
 1 file changed, 5 insertions(+), 83 deletions(-)

Comments

David Miller June 25, 2020, 4:52 a.m. UTC | #1
From: Doug Berger <opendmb@gmail.com>
Date: Wed, 24 Jun 2020 18:14:52 -0700

> Now that scatter-gather and tx-checksumming are enabled by default
> it revealed a packet corruption issue that can occur for very short
> fragmented packets.
> 
> When padding these frames to the minimum length it is possible for
> the non-linear (fragment) data to be added to the end of the linear
> header in an SKB. Since the number of fragments is read before the
> padding and used afterward without reloading, the fragment that
> should have been consumed can be tacked on in place of part of the
> padding.
> 
> The third commit in this set corrects this by removing the software
> padding and allowing the hardware to add the pad bytes if necessary.
> 
> The first two commits resolve warnings observed by the kbuild test
> robot and are included here for simplicity of application.

Series applied, thank you.