File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ EXPORT_SYMBOL_GPL(nf_br_ops);
2727/* net device transmit always called with BH disabled */
2828netdev_tx_t br_dev_xmit (struct sk_buff * skb , struct net_device * dev )
2929{
30+ enum skb_drop_reason reason = pskb_may_pull_reason (skb , ETH_HLEN );
3031 struct net_bridge_mcast_port * pmctx_null = NULL ;
3132 struct net_bridge * br = netdev_priv (dev );
3233 struct net_bridge_mcast * brmctx = & br -> multicast_ctx ;
@@ -38,6 +39,11 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
3839 const unsigned char * dest ;
3940 u16 vid = 0 ;
4041
42+ if (unlikely (reason != SKB_NOT_DROPPED_YET )) {
43+ kfree_skb_reason (skb , reason );
44+ return NETDEV_TX_OK ;
45+ }
46+
4147 memset (skb -> cb , 0 , sizeof (struct br_input_skb_cb ));
4248
4349 rcu_read_lock ();
You can’t perform that action at this time.
0 commit comments