Re: [PATCHv2 09/17] nvme: add Clang context annotations for nvme_subsystems_lock
From: Christoph Hellwig
Date: Fri Jun 26 2026 - 02:46:11 EST
> -static LIST_HEAD(nvme_subsystems);
> +static __guarded_by(&nvme_subsystems_lock) LIST_HEAD(nvme_subsystems);
Having the guard_by before the LIST_HEAD makes this a real mess to
read.
Can we add a
#define LIST_HEAD_GUARDED(_list, _lock) \
__guarded_by(_lock) LIST_HEAD(_list)
and use that instead? And maybe do these after the lock declaration.
While the compiler doesn't care, that's much easier to follow for
humans.
> + /*
> + * Initializing subsys->ctrls list doesn't need to be protected
> + * using @nvme_subsystems_lock. So suppress the Clang's warning
> + * declaring context_unsafe.
> + */
> + context_unsafe(INIT_LIST_HEAD(&subsys->ctrls));
This could also use a helper.