In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: fixup hang in nvmet_tcp_listen_data_ready() When the socket is closed while in TCP_LISTEN a callback is run to flush all outstanding packets, which in turns calls nvmet_tcp_listen_data_ready() with the sk_callback_lock held. So we need to check if we are in TCP_LISTEN before attempting to get the sk_callback_lock() to avoid a deadlock.
https://git.kernel.org/stable/c/f532b29b0e313f42b964014038b0f52899b240ec
https://git.kernel.org/stable/c/6e0c7503a5803d568d56a9f9bca662cd94a14908
https://git.kernel.org/stable/c/2fa8961d3a6a1c2395d8d560ffed2c782681bade
https://git.kernel.org/stable/c/1c90f930e7b410dd2d75a2a19a85e19c64e98ad5