diff options
author | David S. Miller <davem@davemloft.net> | 2019-02-07 18:06:19 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-07 18:06:19 -0800 |
commit | f06f095f3294f8e6357bd2ec30844f125981bc6a (patch) | |
tree | 4789334e9cd775ba44fc17f163f450d279b72a87 /net/smc/smc_close.c | |
parent | net: vxlan: Free a leaked vetoed multicast rdst (diff) | |
parent | net/smc: original socket family in inet_sock_diag (diff) | |
download | linux-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.c | 7 |
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 */ |