From: Paolo Abeni <pab...@redhat.com> Date: Tue, 18 Jul 2017 11:57:55 +0200
> Eric noticed that in udp_recvmsg() we still need to access > skb->dst while processing the IP options. > Since commit 0a463c78d25b ("udp: avoid a cache miss on dequeue") > skb->dst is no more available at recvmsg() time and bad things > will happen if we enter the relevant code path. > > This commit address the issue, avoid clearing skb->dst if > any IP options are present into the relevant skb. > Since the IP CB is contained in the first skb cacheline, we can > test it to decide to leverage the consume_stateless_skb() > optimization, without measurable additional cost in the faster > path. > > v1 -> v2: updated commit message tags > > Fixes: 0a463c78d25b ("udp: avoid a cache miss on dequeue") > Reported-by: Andrey Konovalov <andreyk...@google.com> > Reported-by: Eric Dumazet <eduma...@google.com> > Signed-off-by: Paolo Abeni <pab...@redhat.com> Applied, thank you.