diff options
author | David S. Miller <davem@davemloft.net> | 2013-03-20 12:46:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-20 12:46:26 -0400 |
commit | 61816596d1c9026d0ecb20c44f90452c41596ffe (patch) | |
tree | 3027ed6dc62f71e14b9d525405747fa0eb8f074d /net/ipv6/udp.c | |
parent | 23a9072e3af0d9538e25837fb2b56bb94e4a8e67 (diff) | |
parent | da2191e31409d1058dcbed44e8f53e39a40e86b3 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull in the 'net' tree to get Daniel Borkmann's flow dissector
infrastructure change.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/udp.c')
-rw-r--r-- | net/ipv6/udp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 3ed57eced376..da6019b63730 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -1286,10 +1286,18 @@ do_confirm: | |||
1286 | 1286 | ||
1287 | void udpv6_destroy_sock(struct sock *sk) | 1287 | void udpv6_destroy_sock(struct sock *sk) |
1288 | { | 1288 | { |
1289 | struct udp_sock *up = udp_sk(sk); | ||
1289 | lock_sock(sk); | 1290 | lock_sock(sk); |
1290 | udp_v6_flush_pending_frames(sk); | 1291 | udp_v6_flush_pending_frames(sk); |
1291 | release_sock(sk); | 1292 | release_sock(sk); |
1292 | 1293 | ||
1294 | if (static_key_false(&udpv6_encap_needed) && up->encap_type) { | ||
1295 | void (*encap_destroy)(struct sock *sk); | ||
1296 | encap_destroy = ACCESS_ONCE(up->encap_destroy); | ||
1297 | if (encap_destroy) | ||
1298 | encap_destroy(sk); | ||
1299 | } | ||
1300 | |||
1293 | inet6_destroy_sock(sk); | 1301 | inet6_destroy_sock(sk); |
1294 | } | 1302 | } |
1295 | 1303 | ||