From: Alexander Aring Date: Mon, 27 Apr 2026 15:59:35 +0000 (-0400) Subject: dlm: init per node debugfs before add to node hash X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e61113cfcaf71cbdf4c17e3d086d8fb7f92c62bf;p=thirdparty%2Fkernel%2Flinux.git dlm: init per node debugfs before add to node hash Avoiding potential issues when a node is added to the hash but the debugfs is not NULL or IS_ERR() so a potential iteration over the hash and debugfs_remove() will not fail like in dlm_midcomms_exit(). However dlm_midcomms_exit() will be called in module init/exit function and the hash should be empty anyway at those stages. We change the behavior as cleanup to avoid potential issues. Reported-by: Ginger Closes: https://lore.kernel.org/gfs2/CAGp+u1ZE7UsQ4sSUHBKQXU8x3M_jwK=ek1urSjEtd3jXQGFmVg@mail.gmail.com Signed-off-by: Alexander Aring Signed-off-by: David Teigland --- diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c index 6b522d4e2b7e3..8964164600d2d 100644 --- a/fs/dlm/midcomms.c +++ b/fs/dlm/midcomms.c @@ -356,6 +356,7 @@ int dlm_midcomms_addr(int nodeid, struct sockaddr_storage *addr) if (!node) return -ENOMEM; + node->debugfs = dlm_create_debug_comms_file(nodeid, node); node->nodeid = nodeid; spin_lock_init(&node->state_lock); spin_lock_init(&node->send_queue_lock); @@ -369,7 +370,6 @@ int dlm_midcomms_addr(int nodeid, struct sockaddr_storage *addr) hlist_add_head_rcu(&node->hlist, &node_hash[r]); spin_unlock_bh(&nodes_lock); - node->debugfs = dlm_create_debug_comms_file(nodeid, node); return 0; }