Re: [PATCH] 6lowpan: iphc: reset mac_header after decompress to fix panic
From: Jukka Rissanen
Date: Thu Jul 05 2018 - 07:43:06 EST
On Tue, 2018-06-19 at 16:44 -0700, Michael Scott wrote:
> After decompression of 6lowpan socket data, an IPv6 header is
> inserted
> before the existing socket payload. After this, we reset the
> network_header value of the skb to account for the difference in
> payload
> size from prior to decompression + the addition of the IPv6 header.
>
>
> Signed-off-by: Michael Scott <michael@xxxxxxxxxxxxxxxxxxxxxxx>
> ---
> net/6lowpan/iphc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/6lowpan/iphc.c b/net/6lowpan/iphc.c
> index 6b1042e21656..52fad5dad9f7 100644
> --- a/net/6lowpan/iphc.c
> +++ b/net/6lowpan/iphc.c
> @@ -770,6 +770,7 @@ int lowpan_header_decompress(struct sk_buff *skb,
> const struct net_device *dev,
> hdr.hop_limit, &hdr.daddr);
>
> skb_push(skb, sizeof(hdr));
> + skb_reset_mac_header(skb);
> skb_reset_network_header(skb);
> skb_copy_to_linear_data(skb, &hdr, sizeof(hdr));
>
Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx>
Cheers,
Jukka