projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[MIPS] ret_from_irq adjustment
[powerpc.git]
/
net
/
bridge
/
br_forward.c
diff --git
a/net/bridge/br_forward.c
b/net/bridge/br_forward.c
index
8be9f21
..
191b861
100644
(file)
--- a/
net/bridge/br_forward.c
+++ b/
net/bridge/br_forward.c
@@
-35,16
+35,17
@@
static inline unsigned packet_length(const struct sk_buff *skb)
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
/* drop mtu oversized packets except gso */
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
/* drop mtu oversized packets except gso */
- if (packet_length(skb) > skb->dev->mtu && !skb_
shinfo(skb)->gso_size
)
+ if (packet_length(skb) > skb->dev->mtu && !skb_
is_gso(skb)
)
kfree_skb(skb);
else {
kfree_skb(skb);
else {
-#ifdef CONFIG_BRIDGE_NETFILTER
/* ip_refrag calls ip_fragment, doesn't copy the MAC header. */
/* ip_refrag calls ip_fragment, doesn't copy the MAC header. */
- nf_bridge_maybe_copy_header(skb);
-#endif
- skb_push(skb, ETH_HLEN);
+ if (nf_bridge_maybe_copy_header(skb))
+ kfree_skb(skb);
+ else {
+ skb_push(skb, ETH_HLEN);
- dev_queue_xmit(skb);
+ dev_queue_xmit(skb);
+ }
}
return 0;
}
return 0;