Re: [B.A.T.M.A.N.] [PATCH next 2/2] batman-adv: fix potential kernel paging error for unicast transmissions

Antonio Quartulli
2013-07-28T20:17:57Z

Il 27.07.2013 03:24 Linus Lüssing ha scritto:
> batadv_send_skb_prepare_unicast(_4addr) might reallocate the skb's
> data. If it does then our ethhdr pointer is not valid anymore in
> batadv_send_skb_unicast(), resulting in a kernel paging error.
>
> This patch fixes this issue by storing the few bytes we are interested
> in on the stack before modifying the skb.

Good fix! thanks!

However, I think it would be nice to send another patch aiming master
which could polish this situation a bit better: e.g. by calling
skb_reset_mac_header() in the batadv_send_skb_prepare_unicast_*
functions and then get the Ethernet header with eth_hdr() right after
having changed the skb.

>
> Signed-off-by: Linus Lüssing <linus.luessing@web.de>

Acked-by: Antonio Quartulli <ordex@autistici.org>

--
Antonio Quartulli