diff options
| author | 2025-10-20 16:07:13 +0200 | |
|---|---|---|
| committer | 2025-10-26 20:47:32 -0500 | |
| commit | 975f05a7647720b6a82dac73463eaeca3067de71 (patch) | |
| tree | fb188ae3b6e3a15e958c5d44942c942c55c6c6f2 /tools/perf/scripts/python/task-analyzer.py | |
| parent | ksmbd: transport_ipc: validate payload size before reading handle (diff) | |
| download | linux-rng-975f05a7647720b6a82dac73463eaeca3067de71.tar.xz linux-rng-975f05a7647720b6a82dac73463eaeca3067de71.zip | |
smb: server: call smb_direct_post_recv_credits() when the negotiation is done
We now activate sc->recv_io.posted.refill_work and sc->idle.immediate_work
only after a successful negotiation, before sending the negotiation
response.
It means the queue_work(sc->workqueue, &sc->recv_io.posted.refill_work)
in put_recvmsg() of the negotiate request, is a no-op now.
It also means our explicit smb_direct_post_recv_credits() will
have queue_work(sc->workqueue, &sc->idle.immediate_work) as no-op.
This should make sure we don't have races and post any immediate
data_transfer message that tries to grant credits to the peer,
before we send the negotiation response, as that will grant
the initial credits to the peer.
Fixes: 0626e6641f6b ("cifsd: add server handler for central processing and tranport layers")
Fixes: 1cde0a74a7a8 ("smb: server: don't use delayed_work for post_recv_credits_work")
Cc: Namjae Jeon <linkinjeon@kernel.org>
Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
