summaryrefslogtreecommitdiff
path: root/kernel/workqueue_internal.h
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2017-09-06 14:44:36 +0200
committerDavid S. Miller <davem@davemloft.net>2017-09-07 20:02:39 -0700
commitca2c1418efe9f7fe37aa1f355efdf4eb293673ce (patch)
treee7a5bc57ec2c26469e03fb850b4aa61af43bbe38 /kernel/workqueue_internal.h
parent5c25f30c93fdc5bf25e62101aeaae7a4f9b421b3 (diff)
udp: drop head states only when all skb references are gone
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 <edumazet@google.com> Fixes: 0ddf3fb2c43d ("udp: preserve skb->dst if required for IP options processing") Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/workqueue_internal.h')
0 files changed, 0 insertions, 0 deletions