net: dsa: Drop WARN() in tag_brcm.c
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 24 Jan 2017 03:19:07 +0000 (19:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Jan 2017 20:00:22 +0000 (15:00 -0500)
We may be able to see invalid Broadcom tags when the hardware and drivers are
misconfigured, or just while exercising the error path. Instead of flooding
the console with messages, flat out drop the packet.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/tag_brcm.c

index af82927..cb5a2b7 100644 (file)
@@ -121,7 +121,8 @@ static int brcm_tag_rcv(struct sk_buff *skb, struct net_device *dev,
        /* We should never see a reserved reason code without knowing how to
         * handle it
         */
-       WARN_ON(brcm_tag[2] & BRCM_EG_RC_RSVD);
+       if (unlikely(brcm_tag[2] & BRCM_EG_RC_RSVD))
+               goto out_drop;
 
        /* Locate which port this is coming from */
        source_port = brcm_tag[3] & BRCM_EG_PID_MASK;