From: Alexander Aring aahringo@redhat.com
[ Upstream commit 7354fa4ef697191effedc2ae9a8293427708bbf5 ]
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 Signed-off-by: Sasha Levin sashal@kernel.org --- fs/dlm/midcomms.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c index b53d7a281be93..d976c2009b185 100644 --- a/fs/dlm/midcomms.c +++ b/fs/dlm/midcomms.c @@ -1367,6 +1367,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); }