Re: [PATCH net-next 3/3] net: qrtr: implement shutdown()

From: Chunkai Deng

Date: Mon Oct 26 2026 - 06:32:26 EST


Yeah, this is a known limitation and the commit message calls it out.

The sender sleeps on flow->resume_tx, which hangs off the node and is
keyed by destination node/port, so the socket has no way to reach it.
Fixing that means either recording the flow in qrtr_sock (and dealing
with the flow being freed together with the node) or reworking
qrtr_tx_wait() to also wait on sk_sleep(). Both touch flow control
rather than shutdown, so I'd prefer to do that as a separate patch.

Without this series, a sender stuck in qrtr_tx_wait() already blocks
close(), ioctl() and the rest of the lock_sock() callers, and there is
no way at all to get it out short of a signal or the remote returning
credit. This series does not change that path; it only makes shutdown()
useful for the recv and poll side.


On 10/22/2026 4:35 AM, Jakub Kicinski wrote:
> On Tue, 20 Oct 2026 09:35:54 +0000 netdev-bot+sashiko@xxxxxxxxxx wrote:
>> - [Medium] net/qrtr: shutdown() API violation leaves sendmsg() threads
>> hung
> looks legit