Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: net/mac80211/sta_info.c net/wireless/core.h Two minor conflicts in wireless. Overlapping additions of extern declarations in net/wireless/core.h and a bug fix overlapping with the addition of a boolean parameter to __ieee80211_key_free(). Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1624,7 +1624,6 @@ int dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
|
||||
}
|
||||
|
||||
skb_orphan(skb);
|
||||
nf_reset(skb);
|
||||
|
||||
if (unlikely(!is_skb_forwardable(dev, skb))) {
|
||||
atomic_long_inc(&dev->rx_dropped);
|
||||
@@ -3318,6 +3317,7 @@ int netdev_rx_handler_register(struct net_device *dev,
|
||||
if (dev->rx_handler)
|
||||
return -EBUSY;
|
||||
|
||||
/* Note: rx_handler_data must be set before rx_handler */
|
||||
rcu_assign_pointer(dev->rx_handler_data, rx_handler_data);
|
||||
rcu_assign_pointer(dev->rx_handler, rx_handler);
|
||||
|
||||
@@ -3338,6 +3338,11 @@ void netdev_rx_handler_unregister(struct net_device *dev)
|
||||
|
||||
ASSERT_RTNL();
|
||||
RCU_INIT_POINTER(dev->rx_handler, NULL);
|
||||
/* a reader seeing a non NULL rx_handler in a rcu_read_lock()
|
||||
* section has a guarantee to see a non NULL rx_handler_data
|
||||
* as well.
|
||||
*/
|
||||
synchronize_net();
|
||||
RCU_INIT_POINTER(dev->rx_handler_data, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
Reference in New Issue
Block a user