Эх сурвалжийг харах

Merge tag 'batadv-net-for-davem-20161026' of git://git.open-mesh.org/linux-merge

Simon Wunderlich says:

====================
Here are three batman-adv bugfix patches:

 - Fix RCU usage for neighbor list, by Sven Eckelmann

 - Fix BATADV_DBG_ALL loglevel to include TP Meter messages, by Sven Eckelmann

 - Fix possible splat when disabling an interface, by Linus Luessing
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 8 жил өмнө
parent
commit
ad60133909

+ 0 - 1
net/batman-adv/hard-interface.c

@@ -652,7 +652,6 @@ void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface,
 			batadv_softif_destroy_sysfs(hard_iface->soft_iface);
 			batadv_softif_destroy_sysfs(hard_iface->soft_iface);
 	}
 	}
 
 
-	hard_iface->soft_iface = NULL;
 	batadv_hardif_put(hard_iface);
 	batadv_hardif_put(hard_iface);
 
 
 out:
 out:

+ 1 - 1
net/batman-adv/log.h

@@ -63,7 +63,7 @@ enum batadv_dbg_level {
 	BATADV_DBG_NC		= BIT(5),
 	BATADV_DBG_NC		= BIT(5),
 	BATADV_DBG_MCAST	= BIT(6),
 	BATADV_DBG_MCAST	= BIT(6),
 	BATADV_DBG_TP_METER	= BIT(7),
 	BATADV_DBG_TP_METER	= BIT(7),
-	BATADV_DBG_ALL		= 127,
+	BATADV_DBG_ALL		= 255,
 };
 };
 
 
 #ifdef CONFIG_BATMAN_ADV_DEBUG
 #ifdef CONFIG_BATMAN_ADV_DEBUG

+ 1 - 1
net/batman-adv/originator.c

@@ -544,7 +544,7 @@ batadv_hardif_neigh_create(struct batadv_hard_iface *hard_iface,
 	if (bat_priv->algo_ops->neigh.hardif_init)
 	if (bat_priv->algo_ops->neigh.hardif_init)
 		bat_priv->algo_ops->neigh.hardif_init(hardif_neigh);
 		bat_priv->algo_ops->neigh.hardif_init(hardif_neigh);
 
 
-	hlist_add_head(&hardif_neigh->list, &hard_iface->neigh_list);
+	hlist_add_head_rcu(&hardif_neigh->list, &hard_iface->neigh_list);
 
 
 out:
 out:
 	spin_unlock_bh(&hard_iface->neigh_list_lock);
 	spin_unlock_bh(&hard_iface->neigh_list_lock);