Hey,
nice patch and this time well formatted. ;-) Applied in 1578.
Just for some more clarification about this bug (have a look at the attached call trace): It always occurs when I haven't put an interface into batman-adv and when I'm then changing the mac-address of bat0. I've now added a little check in interface_set_mac_addr() which seems to work nicely here in my setup. I'm also wondering if we should add another sanity check somewhere in hna_local_add() to directly avoid any racy null pointer dereferences in there.
I'm not sure it is a good place to put such a check since hna_local_add() is more of a library function which does not know much about the context. However, it could check whether the hna_local_hash had been initialized.
Cheers, Marek