diff options
Diffstat (limited to 'net/8021q/vlan_core.c')
-rw-r--r-- | net/8021q/vlan_core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index e2ed69850489..0bc31de9071a 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c | |||
@@ -21,6 +21,12 @@ bool vlan_do_receive(struct sk_buff **skbp) | |||
21 | if (unlikely(!skb)) | 21 | if (unlikely(!skb)) |
22 | return false; | 22 | return false; |
23 | 23 | ||
24 | if (unlikely(!(vlan_dev->flags & IFF_UP))) { | ||
25 | kfree_skb(skb); | ||
26 | *skbp = NULL; | ||
27 | return false; | ||
28 | } | ||
29 | |||
24 | skb->dev = vlan_dev; | 30 | skb->dev = vlan_dev; |
25 | if (unlikely(skb->pkt_type == PACKET_OTHERHOST)) { | 31 | if (unlikely(skb->pkt_type == PACKET_OTHERHOST)) { |
26 | /* Our lower layer thinks this is not local, let's make sure. | 32 | /* Our lower layer thinks this is not local, let's make sure. |