From 14d16c334ac8da0c524d50ed39c85979054af64a Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Mon, 9 Feb 2009 15:07:18 -0800 Subject: [PATCH] --- yaml --- r: 131207 b: refs/heads/master c: 4906f9985e310fc01f956256b0d58ac28b0dcb19 h: refs/heads/master i: 131205: 82202f536e93a54d7a43cd5df5aa890709371c81 131203: 9c4e250296f180e4981a38c758ae58f8a0cd15e6 131199: 1ad79ab3d4cf8141c3be5e439ba7e533734a0949 v: v3 --- [refs] | 2 +- trunk/net/bridge/br_forward.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e1ffd81c203c..d144e39cb822 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20461c1740cac5e02733221c9f653098a703f55a +refs/heads/master: 4906f9985e310fc01f956256b0d58ac28b0dcb19 diff --git a/trunk/net/bridge/br_forward.c b/trunk/net/bridge/br_forward.c index bdd9ccea17ce..d2c27c808d3b 100644 --- a/trunk/net/bridge/br_forward.c +++ b/trunk/net/bridge/br_forward.c @@ -67,6 +67,11 @@ static void __br_forward(const struct net_bridge_port *to, struct sk_buff *skb) { struct net_device *indev; + if (skb_warn_if_lro(skb)) { + kfree_skb(skb); + return; + } + indev = skb->dev; skb->dev = to->dev; skb_forward_csum(skb); @@ -89,7 +94,7 @@ void br_deliver(const struct net_bridge_port *to, struct sk_buff *skb) /* called with rcu_read_lock */ void br_forward(const struct net_bridge_port *to, struct sk_buff *skb) { - if (!skb_warn_if_lro(skb) && should_deliver(to, skb)) { + if (should_deliver(to, skb)) { __br_forward(to, skb); return; }