|
@@ -1345,7 +1345,7 @@ csum_copy_err:
|
|
|
goto try_again;
|
|
|
}
|
|
|
|
|
|
-int udp_disconnect(struct sock *sk, int flags)
|
|
|
+int __udp_disconnect(struct sock *sk, int flags)
|
|
|
{
|
|
|
struct inet_sock *inet = inet_sk(sk);
|
|
|
/*
|
|
@@ -1367,6 +1367,15 @@ int udp_disconnect(struct sock *sk, int flags)
|
|
|
sk_dst_reset(sk);
|
|
|
return 0;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(__udp_disconnect);
|
|
|
+
|
|
|
+int udp_disconnect(struct sock *sk, int flags)
|
|
|
+{
|
|
|
+ lock_sock(sk);
|
|
|
+ __udp_disconnect(sk, flags);
|
|
|
+ release_sock(sk);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
EXPORT_SYMBOL(udp_disconnect);
|
|
|
|
|
|
void udp_lib_unhash(struct sock *sk)
|
|
@@ -2193,7 +2202,7 @@ int udp_abort(struct sock *sk, int err)
|
|
|
|
|
|
sk->sk_err = err;
|
|
|
sk->sk_error_report(sk);
|
|
|
- udp_disconnect(sk, 0);
|
|
|
+ __udp_disconnect(sk, 0);
|
|
|
|
|
|
release_sock(sk);
|
|
|
|