On Wed, May 8, 2019 at 12:22 AM David Hildenbrand <david@xxxxxxxxxx> wrote: > > > >> drivers/base/node.c | 18 +++++------------- > >> include/linux/node.h | 5 ++--- > >> 2 files changed, 7 insertions(+), 16 deletions(-) > >> > >> diff --git a/drivers/base/node.c b/drivers/base/node.c > >> index 04fdfa99b8bc..9be88fd05147 100644 > >> --- a/drivers/base/node.c > >> +++ b/drivers/base/node.c > >> @@ -803,20 +803,14 @@ int register_mem_sect_under_node(struct memory_block *mem_blk, void *arg) > >> > >> /* > >> * Unregister memory block device under all nodes that it spans. > >> + * Has to be called with mem_sysfs_mutex held (due to unlinked_nodes). > > > > Given this comment can bitrot relative to the implementation lets > > instead add an explicit: > > > > lockdep_assert_held(&mem_sysfs_mutex); > > That would require to make the mutex non-static. Is that what you > suggest, or any other alternative? If the concern is other code paths taking the lock when they shouldn't then you could make a public "lockdep_assert_mem_sysfs_held()" to do the same, but I otherwise think the benefit of inline lock validation is worth the price of adding a new non-static symbol.