The patch below does not apply to the 6.1-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 stable@vger.kernel.org.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x 7354fa4ef697191effedc2ae9a8293427708bbf5 # <resolve conflicts, build, test, etc.> git commit -s git send-email --to 'stable@vger.kernel.org' --in-reply-to '16781095911850@kroah.com' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
7354fa4ef697 ("fs: dlm: be sure to call dlm_send_queue_flush()") 775af207464b ("fs: dlm: use WARN_ON_ONCE() instead of WARN_ON()") e01c4b7bd415 ("fd: dlm: trace send/recv of dlm message and rcom")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 7354fa4ef697191effedc2ae9a8293427708bbf5 Mon Sep 17 00:00:00 2001 From: Alexander Aring aahringo@redhat.com Date: Thu, 12 Jan 2023 17:10:33 -0500 Subject: [PATCH] fs: dlm: be sure to call dlm_send_queue_flush()
If we release a midcomms node structure, there should be nothing left inside the dlm midcomms send queue. However, sometimes this is not true because I believe some DLM_FIN message was not acked... if we run into a shutdown timeout, then we should be sure there is no pending send dlm message inside this queue when releasing midcomms node structure.
Cc: stable@vger.kernel.org Fixes: 489d8e559c65 ("fs: dlm: add reliable connection if reconnect") Signed-off-by: Alexander Aring aahringo@redhat.com Signed-off-by: David Teigland teigland@redhat.com
diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c index 2e60d9a2c883..a3eb19c8cec5 100644 --- a/fs/dlm/midcomms.c +++ b/fs/dlm/midcomms.c @@ -1402,6 +1402,7 @@ static void midcomms_node_release(struct rcu_head *rcu) struct midcomms_node *node = container_of(rcu, struct midcomms_node, rcu);
WARN_ON_ONCE(atomic_read(&node->send_queue_cnt)); + dlm_send_queue_flush(node); kfree(node); }
linux-stable-mirror@lists.linaro.org