This is a note to let you know that I've just added the patch titled fs: dlm: fix race setting stop tx flag to the 6.2-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: fs-dlm-fix-race-setting-stop-tx-flag.patch and it can be found in the queue-6.2 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 164272113b685927126c938b4a9cbd2075eb15ee Mon Sep 17 00:00:00 2001 From: Alexander Aring <aahringo@xxxxxxxxxx> Date: Thu, 12 Jan 2023 17:10:34 -0500 Subject: fs: dlm: fix race setting stop tx flag From: Alexander Aring <aahringo@xxxxxxxxxx> commit 164272113b685927126c938b4a9cbd2075eb15ee upstream. This patch sets the stop tx flag before we commit the dlm message. This flag will report about unexpected transmissions after we send the DLM_FIN message out, which should be the last message sent. When we commit the dlm fin message, it could be that we already got an ack back and the CLOSED state change already happened. We should not set this flag when we are in CLOSED state. To avoid this race we simply set the tx flag before the state change can be in progress by moving it before dlm_midcomms_commit_mhandle(). Cc: stable@xxxxxxxxxxxxxxx Fixes: 489d8e559c65 ("fs: dlm: add reliable connection if reconnect") Signed-off-by: Alexander Aring <aahringo@xxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/dlm/midcomms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/dlm/midcomms.c +++ b/fs/dlm/midcomms.c @@ -406,6 +406,7 @@ static int dlm_send_fin(struct midcomms_ if (!mh) return -ENOMEM; + set_bit(DLM_NODE_FLAG_STOP_TX, &node->flags); mh->ack_rcv = ack_rcv; m_header = (struct dlm_header *)ppc; @@ -417,7 +418,6 @@ static int dlm_send_fin(struct midcomms_ pr_debug("sending fin msg to node %d\n", node->nodeid); dlm_midcomms_commit_mhandle(mh, NULL, 0); - set_bit(DLM_NODE_FLAG_STOP_TX, &node->flags); return 0; } Patches currently in stable-queue which might be from aahringo@xxxxxxxxxx are queue-6.2/fs-dlm-fix-race-setting-stop-tx-flag.patch queue-6.2/fs-dlm-send-fin-ack-back-in-right-cases.patch queue-6.2/fs-dlm-start-midcomms-before-scand.patch queue-6.2/fs-dlm-move-sending-fin-message-into-state-change-handling.patch queue-6.2/fs-dlm-fix-use-after-free-in-midcomms-commit.patch queue-6.2/fs-dlm-be-sure-to-call-dlm_send_queue_flush.patch queue-6.2/fs-dlm-don-t-set-stop-rx-flag-after-node-reset.patch