Hi everyone,
Patches [1-4] are untouched, added my stuff on top of it with some fixes:
* Made sure no rcu_read_lock() while gw_deselect() (gw_election(), gw_check_election()) * Removed orig_node null pointer check in gw_get_selected() * Removed rcu_dereference() for orig_node * Rebased to marec's last 4 patches * Made extra patch for bat_priv->curr_gw rcu protection fixes * Removed the stupid kref_get() removal which was not supposed to be part of this patch [my old 1/3] * Removed the wrong kref_get() removal [my old 3/3]
It's all based on "batman-adv: Switch order of types.h and compat.h inclusion" (see separate patchset) which fixes a compile error in my old [2/3] patch.
Note: rcu_dereference() in gw_node_purge() does not seem to be safe yet, there's no rcu_read_lock(), so another thread, not through gw_node_purge(), might have just performed a gw_deselect().
Cheers, Linus