]> www.infradead.org Git - users/willy/pagecache.git/commitdiff
octeontx2-pf: Add error handling to VLAN unoffload handling
authorSimon Horman <horms@kernel.org>
Mon, 17 Jun 2024 16:50:26 +0000 (17:50 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2024 11:08:24 +0000 (12:08 +0100)
otx2_sq_append_skb makes used of __vlan_hwaccel_push_inside()
to unoffload VLANs - push them from skb meta data into skb data.
However, it omitts a check for __vlan_hwaccel_push_inside()
returning NULL.

Found by inspection based on [1] and [2].
Compile tested only.

[1] Re: [PATCH net-next v1] net: stmmac: Enable TSO on VLANs
    https://lore.kernel.org/all/ZmrN2W8Fye450TKs@shell.armlinux.org.uk/
[2] Re: [PATCH net-next v2] net: stmmac: Enable TSO on VLANs
    https://lore.kernel.org/all/CANn89i+11L5=tKsa7V7Aeyxaj6nYGRwy35PAbCRYJ73G+b25sg@mail.gmail.com/

Fixes: fd9d7859db6c ("octeontx2-pf: Implement ingress/egress VLAN offload")
Signed-off-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c

index a16e9f244117bda8fd4c1bc6c9f7fdc3239830dd..929b4eac25d974a0263281c8bcc76b53c137a05d 100644 (file)
@@ -1174,8 +1174,11 @@ bool otx2_sq_append_skb(struct net_device *netdev, struct otx2_snd_queue *sq,
 
        if (skb_shinfo(skb)->gso_size && !is_hw_tso_supported(pfvf, skb)) {
                /* Insert vlan tag before giving pkt to tso */
-               if (skb_vlan_tag_present(skb))
+               if (skb_vlan_tag_present(skb)) {
                        skb = __vlan_hwaccel_push_inside(skb);
+                       if (!skb)
+                               return true;
+               }
                otx2_sq_append_tso(pfvf, sq, skb, qidx);
                return true;
        }