diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2013-05-08 01:27:46 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2013-05-08 01:27:46 +0200 |
commit | 9b3539e0e545e4c2f338acfc1ce52033a6f5e7f7 (patch) | |
tree | 5c56e4a208dbe7e985e59911e1a421a7c1ee024c /net/ipv4/udp.c | |
parent | 3d39019a1655d195a60a86ebf38f9da30bd83d03 (diff) | |
parent | 1cd1c049271233deccfcc75123afa7f39a607f5a (diff) | |
download | talos-obmc-linux-9b3539e0e545e4c2f338acfc1ce52033a6f5e7f7.tar.gz talos-obmc-linux-9b3539e0e545e4c2f338acfc1ce52033a6f5e7f7.zip |
Merge branch 'mips-next-3.10' of git://git.linux-mips.org/pub/scm/john/linux-john into mips-for-linux-next
Diffstat (limited to 'net/ipv4/udp.c')
-rw-r--r-- | net/ipv4/udp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 265c42cf963c..0a073a263720 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1762,9 +1762,16 @@ int udp_rcv(struct sk_buff *skb) void udp_destroy_sock(struct sock *sk) { + struct udp_sock *up = udp_sk(sk); bool slow = lock_sock_fast(sk); udp_flush_pending_frames(sk); unlock_sock_fast(sk, slow); + if (static_key_false(&udp_encap_needed) && up->encap_type) { + void (*encap_destroy)(struct sock *sk); + encap_destroy = ACCESS_ONCE(up->encap_destroy); + if (encap_destroy) + encap_destroy(sk); + } } /* |