Re: [PATCH net] net/smc: serialize clcsock teardown in smc_accept_dequeue
| Newsgroups | org.kernel.vger.linux-s390 |
|---|---|
| Message-ID | <[email protected]> |
> smc_accept_dequeue() open-codes clcsock teardown for SMC_CLOSED child sockets
> without taking clcsock_release_lock:
>
> new_sk->sk_prot->unhash(new_sk);
> if (isk->clcsock) {
> sock_release(isk->clcsock);
> isk->clcsock = NULL;
> }
>
> This bypasses the clcsock_release_lock discipline used elsewhere in SMC clcsock
> lifetime handling. In particular, other paths serialize clcsock access and
> updates with clcsock_release_lock, but this local teardown path does not.
>
> Fix it by taking clcsock_release_lock around the local teardown and by storing
> NULL before sock_release(), matching the established ordering used by other
> clcsock teardown paths.
>
> Fixes: 127f49705823 ("net/smc: release clcsock from tcp_listen_worker")
> Reviewed-by: Hidayath Khan <[email protected]>
> Signed-off-by: Mahanta Jambigi <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1