[PATCH 07/15] nvme: add Clang context annotations for nvme_subsystem::lock

Nilay Shroff nilay at linux.ibm.com
Wed Jun 10 21:34:25 PDT 2026


On 6/10/26 9:58 PM, Bart Van Assche wrote:
> On 6/10/26 7:27 AM, Nilay Shroff wrote:
>> +    mutex_lock(&ctrl->subsys->lock);
>>       list_add_tail(&head->entry, &ctrl->subsys->nsheads);
>> +    mutex_unlock(&ctrl->subsys->lock);
> 
> Has it been considered to use scoped_guard()?
> 

Yes, scoped_guard() would work here. However, my preference is
to use the guard helpers primarily for object initialization,
where they create a temporary synthetic acquire/release pattern
that helps Clang's context analysis understand accesses to newly
initialized objects.

In this case, we are simply protecting a list update with a
straightforward lock/unlock pair. I find the explicit locking
pattern a bit more intuitive and easier to follow here, since
the locking scope is small and there are no early returns or
error paths that would particularly benefit from scoped_guard().

Thanks,
--Nilay



More information about the Linux-nvme mailing list