Hi,

Here are five fixes which address potential problems with parallel OGM
processing. For the multicast subsystem the issues can be quite severe
as found and pointed out by Sven here [0].

Cheers, Linus

[0]: https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2015-June/013193.html

-----

Changelog v3:

* [PATCHv3 maint 5/5]:
  * added kerneldoc for new mcast_handler_lock in types.h

Changelog v2:

* Split [PATCH maint 1/2] into [PATCHv2 {1,2,3,4}/5]
* [PATCHv2 maint 5/5]:
  * moved mcast_flags initialization outside of spinlock
  * added spinlock in batadv_mcast_purge_orig()
    (not strictly necessary bc. if we are here then the orig-node is
     out-of-scope as it's going to be kfree'd a few instructions later
     - but added for style reasons / to avoid future errors)
  * added hlist_unhashed()+BUG() calls
    (again, shouldn't be necessary as the checks and new spinlock should
     avoid this case. But since the safety of hlist_del_rcu() isn't
     directly obvious, better adding these annotations and to avoid
     future regressions with kernel panics)

PS: Thanks to Marek for the suggestions.

Reply via email to