On Monday 20 April 2015 11:23:15 Marek Lindner wrote: [...]
A patch which should never ever have existed in the first place (please
correct me when I've missed the actual problem):
http://git.open-mesh.org/linux-merge.git/commit/b53915310227cc9b029ba0fa5a a e44e50a461f80
This (subtle) problem is about compat.h. Specifically, the kfree_rcu macro requires a pre-defined variable name: #define kfree_rcu(ptr, rcu_head) call_rcu(&ptr->rcu_head, batadv_free_rcu_##ptr)
void batadv_free_rcu_softif_vlan(struct rcu_head *rcu);
I still don't get it. I wrote the compat code for batadv_free_rcu_* and I was always under the impression that it is not a problem until we have two functions which call kfree_rcu with the same variable name and different types (something which I've now hopefully solved in my kfree_rcu patch for master). And the patch I gave should also show that for this works fine after adding batadv_free_rcu_softif_vlan.
Kind regards, Sven