aboutsummaryrefslogtreecommitdiffstats
path: root/net/smc/smc_close.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-02-07 18:06:19 -0800
committerDavid S. Miller <davem@davemloft.net>2019-02-07 18:06:19 -0800
commitf06f095f3294f8e6357bd2ec30844f125981bc6a (patch)
tree4789334e9cd775ba44fc17f163f450d279b72a87 /net/smc/smc_close.c
parentnet: vxlan: Free a leaked vetoed multicast rdst (diff)
parentnet/smc: original socket family in inet_sock_diag (diff)
downloadlinux-dev-f06f095f3294f8e6357bd2ec30844f125981bc6a.tar.xz
linux-dev-f06f095f3294f8e6357bd2ec30844f125981bc6a.zip
Merge branch 'smc-next'
Ursula Braun says: ==================== net/smc: patches 2019-02-07 here are patches for SMC: * patches 1, 3, and 6 are cleanups without functional change * patch 2 postpones closing of internal clcsock * patches 4 and 5 improve link group creation locking * patch 7 restores AF_SMC as diag_family field ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/smc/smc_close.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/smc/smc_close.c b/net/smc/smc_close.c
index ea2b87f29469..0e60dd741698 100644
--- a/net/smc/smc_close.c
+++ b/net/smc/smc_close.c
@@ -405,8 +405,13 @@ wakeup:
if (old_state != sk->sk_state) {
sk->sk_state_change(sk);
if ((sk->sk_state == SMC_CLOSED) &&
- (sock_flag(sk, SOCK_DEAD) || !sk->sk_socket))
+ (sock_flag(sk, SOCK_DEAD) || !sk->sk_socket)) {
smc_conn_free(conn);
+ if (smc->clcsock) {
+ sock_release(smc->clcsock);
+ smc->clcsock = NULL;
+ }
+ }
}
release_sock(sk);
sock_put(sk); /* sock_hold done by schedulers of close_work */