From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 865AB2673AA; Sun, 1 Mar 2026 01:54:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772330088; cv=none; b=r/B6UFKTeFH32WYlUDISlmX6Vjlda0SKDidzyzrx/98kGpqwIOegehatXweWMCZgz9w/9lVmITPf7op04pLy6i3hsJjmtxmyAGk7FCAsv/kZVrX1hKvBwiLbcDlCzV63E+GuVl/2h6c5MEnlUUHSZbg80t/1uW+kfdnTYPOLyyE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772330088; c=relaxed/simple; bh=7ym2wFYNoIzeC1DJxDkuiLw5gU+s0Dy/Ggqv9Xi6MXc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=r8gz4FYKcDUXJX61/UVJW4GWkphqwPMjmOx+/hY7NsxHHdVbFkE6tGU2koNW28KS2F5HH8V8laC9wKDAz2HytPlhPWrJ7ZEe3sdzrfLoBYDaPTd40r1FIpLJRkj4aSoj+W2QZTDj/47l6asaP4ZjNZ/SbTlqaF6WecLVYcGC/YM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=msFtYCWn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="msFtYCWn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DF03C19424; Sun, 1 Mar 2026 01:54:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772330088; bh=7ym2wFYNoIzeC1DJxDkuiLw5gU+s0Dy/Ggqv9Xi6MXc=; h=From:To:Cc:Subject:Date:From; b=msFtYCWnAnIZ/xnfIRxtPJI8ECCvxx7KH4p74PjjTa8/wRz2mMBoEggWCBPPuJzKJ ndT1bamJJu6nkZsxvXa1PKaNKfGQvMm2vLvL/VEcxlOe3GiyrtSGS8MCwWtG0c9HLS qLyAWa7qvWtJEpH2t3o884tWK9y3YLC2kq5IzHUBfKUUUUgKuXrYzudjZ+ez2Oxeqj 2VWxfWGKOBQNPXY/2Z3RwwteevpME/LYkDuFuaAWBEwleKg90L6d+ST47SsldSqQCC 6J7xajnnAilfb2Q7ag5WH8iFogrQ6iT8grauLjbwHZjJW6LBQ/MOicg21ugn1inKEL 2g72KfyyjvonQ== From: Sasha Levin To: stable@vger.kernel.org, metze@samba.org Cc: Steve French , Tom Talpey , Long Li , Namjae Jeon , linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, Steve French Subject: FAILED: Patch "smb: client: let smbd_post_send_negotiate_req() use smbd_post_send()" failed to apply to 5.15-stable tree Date: Sat, 28 Feb 2026 20:54:46 -0500 Message-ID: <20260301015446.1721823-1-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Hint: ignore X-stable: review Content-Transfer-Encoding: 8bit The patch below does not apply to the 5.15-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . Thanks, Sasha ------------------ original commit in Linus's tree ------------------ >From 5b1c6149657af840a02885135c700ab42e6aa322 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 22 Jan 2026 18:16:59 +0100 Subject: [PATCH] smb: client: let smbd_post_send_negotiate_req() use smbd_post_send() The server has similar logic and it makes sure that request->wr is used instead of a stack struct ib_send_wr send_wr. This makes sure send_done can see request->wr.send_flags as the next commit will check for IB_SEND_SIGNALED Cc: # 6.18.x Cc: Steve French Cc: Tom Talpey Cc: Long Li Cc: Namjae Jeon Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French --- fs/smb/client/smbdirect.c | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/fs/smb/client/smbdirect.c b/fs/smb/client/smbdirect.c index 20faa6d7f514d..88fefb901c27f 100644 --- a/fs/smb/client/smbdirect.c +++ b/fs/smb/client/smbdirect.c @@ -35,6 +35,10 @@ static void enqueue_reassembly( static struct smbdirect_recv_io *_get_first_reassembly( struct smbdirect_socket *sc); +static int smbd_post_send(struct smbdirect_socket *sc, + struct smbdirect_send_batch *batch, + struct smbdirect_send_io *request); + static int smbd_post_recv( struct smbdirect_socket *sc, struct smbdirect_recv_io *response); @@ -1021,7 +1025,6 @@ static int smbd_ia_open( static int smbd_post_send_negotiate_req(struct smbdirect_socket *sc) { struct smbdirect_socket_parameters *sp = &sc->parameters; - struct ib_send_wr send_wr; int rc; struct smbdirect_send_io *request; struct smbdirect_negotiate_req *packet; @@ -1052,33 +1055,12 @@ static int smbd_post_send_negotiate_req(struct smbdirect_socket *sc) request->sge[0].length = sizeof(*packet); request->sge[0].lkey = sc->ib.pd->local_dma_lkey; - ib_dma_sync_single_for_device( - sc->ib.dev, request->sge[0].addr, - request->sge[0].length, DMA_TO_DEVICE); - - request->cqe.done = send_done; - - send_wr.next = NULL; - send_wr.wr_cqe = &request->cqe; - send_wr.sg_list = request->sge; - send_wr.num_sge = request->num_sge; - send_wr.opcode = IB_WR_SEND; - send_wr.send_flags = IB_SEND_SIGNALED; - - log_rdma_send(INFO, "sge addr=0x%llx length=%u lkey=0x%x\n", - request->sge[0].addr, - request->sge[0].length, request->sge[0].lkey); - - atomic_inc(&sc->send_io.pending.count); - rc = ib_post_send(sc->ib.qp, &send_wr, NULL); + rc = smbd_post_send(sc, NULL, request); if (!rc) return 0; - /* if we reach here, post send failed */ - log_rdma_send(ERR, "ib_post_send failed rc=%d\n", rc); - atomic_dec(&sc->send_io.pending.count); - - smbd_disconnect_rdma_connection(sc); + if (rc == -EAGAIN) + rc = -EIO; dma_mapping_failed: smbd_free_send_io(request); -- 2.51.0