diff options
author | Eric Dumazet <edumazet@google.com> | 2013-12-11 14:46:51 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-11 20:21:10 -0500 |
commit | 975022310233fb0f0193873d79a7b8438070fa82 (patch) | |
tree | 2658e9259ca6a53e07a25fe399a4f61d15093220 /net/sched | |
parent | a1bf1750871a6f242b0fdb174cc55d2c57e7ed66 (diff) |
udp: ipv4: must add synchronization in udp_sk_rx_dst_set()
Unlike TCP, UDP input path does not hold the socket lock.
Before messing with sk->sk_rx_dst, we must use a spinlock, otherwise
multiple cpus could leak a refcount.
This patch also takes care of renewing a stale dst entry.
(When the sk->sk_rx_dst would not be used by IP early demux)
Fixes: 421b3885bf6d ("udp: ipv4: Add udp early demux")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
0 files changed, 0 insertions, 0 deletions