can: slcan: slc_xmit(): use can_dropped_invalid_skb() instead of manual check
authorVincent Mailhol <mailhol.vincent@wanadoo.fr>
Sat, 14 May 2022 14:16:47 +0000 (23:16 +0900)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 16 May 2022 20:06:51 +0000 (22:06 +0200)
slcan does a manual check in slc_xmit() to verify if the skb is valid.
This check is incomplete, use instead can_dropped_invalid_skb().

Link: https://lore.kernel.org/all/20220514141650.1109542-2-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/slcan.c

index ec294d0..64a3aee 100644 (file)
@@ -359,8 +359,8 @@ static netdev_tx_t slc_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct slcan *sl = netdev_priv(dev);
 
-       if (skb->len != CAN_MTU)
-               goto out;
+       if (can_dropped_invalid_skb(dev, skb))
+               return NETDEV_TX_OK;
 
        spin_lock(&sl->lock);
        if (!netif_running(dev))  {