Hi,
In the file distributed-arp-table.c, function batadv_dat_snoop_incoming_arp_request, after creation of ARP reply (skb_new = arp_create(...)) and testing if the creation was successful, shouldn't exist a call to skb_reset_mac_header(skb_new), just like in batadv_dat_snoop_outgoing_arp_request?
I've done something similar for NDP and I think that this is the line that might generate a kernel panic (not sure yet, I might have to do more testing).
As I said, I'm not sure yet, and maybe my code might generate it. But my question is why isn't here a skb_reset_mac_header as it is in the first function.
Thanks, Mihail