summaryrefslogtreecommitdiffstats
path: root/drivers/ipack
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2017-07-18 11:57:55 +0200
committerDavid S. Miller <davem@davemloft.net>2017-07-18 12:00:13 -0700
commit0ddf3fb2c43d2e65aee5de158ed694ea11ef229d (patch)
tree01f0dfa07c2cbae42cd7338c298f5769f7bf0187 /drivers/ipack
parent799f917233f6ed242ee9416bf80b14819f0c97f3 (diff)
downloadblackbird-op-linux-0ddf3fb2c43d2e65aee5de158ed694ea11ef229d.tar.gz
blackbird-op-linux-0ddf3fb2c43d2e65aee5de158ed694ea11ef229d.zip
udp: preserve skb->dst if required for IP options processing
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 <andreyknvl@google.com> Reported-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/ipack')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud