]> git.ipfire.org Git - thirdparty/linux.git/commit
compiler-context-analysis: Introduce scoped init guards
authorMarco Elver <elver@google.com>
Mon, 19 Jan 2026 09:05:52 +0000 (10:05 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 28 Jan 2026 19:45:24 +0000 (20:45 +0100)
commitd084a73714f818ce509022e1aa9483cabf797c16
treea6267c99ccbf07913d353a9ab91d09f4161c6619
parent3b9ed30344a866f6f96896b3ce64303b9074682b
compiler-context-analysis: Introduce scoped init guards

Add scoped init guard definitions for common synchronization primitives
supported by context analysis.

The scoped init guards treat the context as active within initialization
scope of the underlying context lock, given initialization implies
exclusive access to the underlying object. This allows initialization of
guarded members without disabling context analysis, while documenting
initialization from subsequent usage.

The documentation is updated with the new recommendation. Where scoped
init guards are not provided or cannot be implemented (ww_mutex omitted
for lack of multi-arg guard initializers), the alternative is to just
disable context analysis where guarded members are initialized.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/all/20251212095943.GM3911114@noisy.programming.kicks-ass.net/
Link: https://patch.msgid.link/20260119094029.1344361-3-elver@google.com
Documentation/dev-tools/context-analysis.rst
include/linux/compiler-context-analysis.h
include/linux/local_lock.h
include/linux/local_lock_internal.h
include/linux/mutex.h
include/linux/rwsem.h
include/linux/seqlock.h
include/linux/spinlock.h
lib/test_context-analysis.c