diff options
| author | Marco Elver <elver@google.com> | 2026-01-19 10:05:56 +0100 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-01-28 20:45:25 +0100 |
| commit | b682b70d016f6aee20d91dcbaa319a932008a83a (patch) | |
| tree | ff33bbdfb99ddde139c1b5bb32b99b662eaa8083 /include/linux/spinlock_rt.h | |
| parent | 41539433b32d71aea9f7ada84dc6a8bd014ca50d (diff) | |
| download | lwn-b682b70d016f6aee20d91dcbaa319a932008a83a.tar.gz lwn-b682b70d016f6aee20d91dcbaa319a932008a83a.zip | |
compiler-context-analysis: Remove __assume_ctx_lock from initializers
Remove __assume_ctx_lock() from lock initializers.
Implicitly asserting an active context during initialization caused
false-positive double-lock errors when acquiring a lock immediately after its
initialization. Moving forward, guarded member initialization must either:
1. Use guard(type_init)(&lock) or scoped_guard(type_init, ...).
2. Use context_unsafe() for simple initialization.
Reported-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/all/57062131-e79e-42c2-aa0b-8f931cb8cac2@acm.org/
Link: https://patch.msgid.link/20260119094029.1344361-7-elver@google.com
Diffstat (limited to 'include/linux/spinlock_rt.h')
| -rw-r--r-- | include/linux/spinlock_rt.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/spinlock_rt.h b/include/linux/spinlock_rt.h index 0a585768358f..373618a4243c 100644 --- a/include/linux/spinlock_rt.h +++ b/include/linux/spinlock_rt.h @@ -20,7 +20,6 @@ static inline void __rt_spin_lock_init(spinlock_t *lock, const char *name, do { \ rt_mutex_base_init(&(slock)->lock); \ __rt_spin_lock_init(slock, name, key, percpu); \ - __assume_ctx_lock(slock); \ } while (0) #define _spin_lock_init(slock, percpu) \ |
