kernel: fix mtk dsa tag padding
authorFelix Fietkau <nbd@nbd.name>
Thu, 2 Mar 2023 11:58:16 +0000 (12:58 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 3 Mar 2023 11:47:33 +0000 (12:47 +0100)
The padding intended to avoid corrupted non-zero padding payload was
accidentally adding too many padding bytes, tripping up some setups.
Fix this by using eth_skb_pad instead.
Fixes #11942.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 9307c27539805de021fb7163f6ad6dc08992331b)

target/linux/generic/pending-5.10/705-net-dsa-tag_mtk-add-padding-for-tx-packets.patch

index e27ac3595f52ad1bb7f988901a558b0e22c058a8..4f3af6c6b0ecc47f6a71da0426f4226478f4cda6 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/dsa/tag_mtk.c
 +++ b/net/dsa/tag_mtk.c
-@@ -25,6 +25,14 @@ static struct sk_buff *mtk_tag_xmit(stru
+@@ -25,6 +25,13 @@ static struct sk_buff *mtk_tag_xmit(stru
        u8 xmit_tpid;
        u8 *mtk_tag;
  
@@ -21,8 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +       * corrupted. With tags enabled, we need to make sure that packets are
 +       * at least 68 bytes (including FCS and tag).
 +       */
-+      if (__skb_put_padto(skb, ETH_ZLEN + MTK_HDR_LEN, false))
-+              return NULL;
++      eth_skb_pad(skb);
 +
        /* Build the special tag after the MAC Source Address. If VLAN header
         * is present, it's required that VLAN header and special tag is