On Thursday, April 18, 2013 03:45:43 Antonio Quartulli wrote:
batadv_mesh_free() schedules some RCU callbacks which need the bat_priv struct to do their jobs, while free_netdev(), which is called immediately after, is destroying the private data.
Put an rcu_barrier() in the middle so that free_netdev() is invoked only after all the callbacks returned.
This bug has been introduced by ab8f433dd39be94e8617cff2dfe9f7eca162eb15 ("batman-adv: Move deinitialization of soft-interface to destructor")
Signed-off-by: Antonio Quartulli ordex@autistici.org
soft-interface.c | 7 +++++++ 1 file changed, 7 insertions(+)
Applied in revision 73eb82e.
Thanks, Marek