From: Paolo Abeni <[email protected]>
Date: Wed, 6 Sep 2017 14:44:36 +0200
> After commit 0ddf3fb2c43d ("udp: preserve skb->dst if required
> for IP options processing") we clear the skb head state as soon
> as the skb carrying them is first processed.
>
> Since the same skb can be processed several times when MSG_PEEK
> is used, we can end up lacking the required head states, and
> eventually oopsing.
>
> Fix this clearing the skb head state only when processing the
> last skb reference.
>
> Reported-by: Eric Dumazet <[email protected]>
> Fixes: 0ddf3fb2c43d ("udp: preserve skb->dst if required for IP options
> processing")
> Signed-off-by: Paolo Abeni <[email protected]>
Applied and queued up for -stable, thanks.