From 4e19dbd191a266d037c8584e72698867cc64bef8 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sun, 14 Oct 2007 00:39:01 -0700 Subject: [PATCH] --- yaml --- r: 69400 b: refs/heads/master c: 7b995651e373d6424f81db23f2ec503306dfd7f0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/bridge/br_input.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 46371cda1b66..6f80ea935281 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f697c3e8b35c18b2698d64137c0fa84b0cdb3d10 +refs/heads/master: 7b995651e373d6424f81db23f2ec503306dfd7f0 diff --git a/trunk/net/bridge/br_input.c b/trunk/net/bridge/br_input.c index 3a8a015c92e0..f8e0a2fa796e 100644 --- a/trunk/net/bridge/br_input.c +++ b/trunk/net/bridge/br_input.c @@ -126,6 +126,10 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb) if (!is_valid_ether_addr(eth_hdr(skb)->h_source)) goto drop; + skb = skb_share_check(skb, GFP_ATOMIC); + if (!skb) + return NULL; + if (unlikely(is_link_local(dest))) { /* Pause frames shouldn't be passed up by driver anyway */ if (skb->protocol == htons(ETH_P_PAUSE))