mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
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 <ginger.jzllee@gmail.com> Closes: https://lore.kernel.org/gfs2/CAGp+u1ZE7UsQ4sSUHBKQXU8x3M_jwK=ek1urSjEtd3jXQGFmVg@mail.gmail.com Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
committed by
David Teigland
parent
d2248cb70c
commit
e61113cfca
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user