]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: tag_rtl4_a: fix egress tags
authorDENG Qingfang <dqfext@gmail.com>
Sun, 28 Feb 2021 17:08:23 +0000 (01:08 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 Mar 2021 21:09:55 +0000 (13:09 -0800)
commit900afea3092b2c1e92be8c5e181695ee6ed716eb
tree358d30687bd52b942e3f1da8ae9a6561367e4999
parent59eb24478357850ffedd8fb80c9729cf1762f2f7
net: dsa: tag_rtl4_a: fix egress tags

Commit 0ecbc7c31896 has several issues, but was accepted too soon
before anyone could take a look.

- Double free. dsa_slave_xmit() will free the skb if the xmit function
  returns NULL, but the skb is already freed by eth_skb_pad(). Use
  __skb_put_padto() to avoid that.
- Unnecessary allocation. It has been done by DSA core since commit
  5da54701782b.
- A u16 pointer points to skb data. It should be __be16 for network
  byte order.
- Typo in comments. "numer" -> "number".

Fixes: 0ecbc7c31896 ("net: dsa: tag_rtl4_a: Support also egress tags")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/tag_rtl4_a.c