Re: [BUG] Crash with NULL pointer dereference in bond_handle_frame in -rt (possibly mainline)
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-03-29 15:46:47
Also in:
lkml
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-03-29 15:46:47
Also in:
lkml
On Fri, 29 Mar 2013 10:48:56 +0100 Jiri Pirko [off-list ref] wrote:
index 0caa38e..c16b829 100644--- a/net/core/dev.c +++ b/net/core/dev.c@@ -3332,8 +3332,8 @@ void netdev_rx_handler_unregister(struct net_device *dev) { ASSERT_RTNL(); - RCU_INIT_POINTER(dev->rx_handler, NULL); - RCU_INIT_POINTER(dev->rx_handler_data, NULL); + rcu_assign_pointer(dev->rx_handler, NULL); + rcu_assign_pointer(dev->rx_handler_data, NULL); } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
It is worth noting that at the time rcu_assign_pointer() had a special case tat if the value was NULL it would compile into RCU_INIT_POINTER without the barrier.