diff options
author | Karsten Graul <kgraul@linux.ibm.com> | 2019-04-11 11:17:30 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-04-11 11:04:08 -0700 |
commit | fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9 (patch) | |
tree | 37e08bc918b40df3a79e4fc28ba16f8a2821d2c4 /net/ipv4/xfrm4_protocol.c | |
parent | 988dc4a9a3b66be75b30405a5494faf0dc7cffb6 (diff) |
net/smc: wait for pending work before clcsock release_sock
When the clcsock is already released using sock_release() and a pending
smc_listen_work accesses the clcsock than that will fail. Solve this
by canceling and waiting for the work to complete first. Because the
work holds the sock_lock it must make sure that the lock is not hold
before the new helper smc_clcsock_release() is invoked. And before the
smc_listen_work starts working check if the parent listen socket is
still valid, otherwise stop the work early.
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/xfrm4_protocol.c')
0 files changed, 0 insertions, 0 deletions