On Mon, Oct 31, 2016 at 09:09:44AM +0100, Sven Eckelmann wrote:
No, this is not what happens. bm_list->pprev is set by hlist_add_fake to &bm_list->next and not to bm_list->next.
Argh! You're absolutely right... now looks like it to me too, that a simple hlist_add_fake(&forw_packet->bm_list) is enough in batadv_forw_packet_steal() (and that the INIT_HLIST_NODE(bm_list) in the alloc function is sufficient).
I'll retest, not sure what issues I thought I had seen without the extra list head addition.