]> git.baikalelectronics.ru Git - kernel.git/commit
net: bcmgenet: use hardware padding of runt frames
authorDoug Berger <opendmb@gmail.com>
Thu, 25 Jun 2020 01:14:55 +0000 (18:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Jun 2020 04:51:03 +0000 (21:51 -0700)
commitd9cda785c2320d1ac3d9dd11ebb9454ce8379fa6
treee95e1549bb6733723ae5cdb2eb7f05fb04624762
parent424f223342f170dd57936ca6cc9b4d57656f8c58
net: bcmgenet: use hardware padding of runt frames

When commit 3a81e8b577dd ("net: bcmgenet: correctly pad short
packets") added the call to skb_padto() it should have been
located before the nr_frags parameter was read since that value
could be changed when padding packets with lengths between 55
and 59 bytes (inclusive).

The use of a stale nr_frags value can cause corruption of the
pad data when tx-scatter-gather is enabled. This corruption of
the pad can cause invalid checksum computation when hardware
offload of tx-checksum is also enabled.

Since the original reason for the padding was corrected by
commit 4600cdfeafb1 ("net: bcmgenet: fix skb_len in
bcmgenet_xmit_single()") we can remove the software padding all
together and make use of hardware padding of short frames as
long as the hardware also always appends the FCS value to the
frame.

Fixes: 3a81e8b577dd ("net: bcmgenet: correctly pad short packets")
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmgenet.c