]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ww-mutex: Fix the ww_acquire_ctx function annotations
authorBart Van Assche <bvanassche@acm.org>
Wed, 25 Feb 2026 18:32:43 +0000 (10:32 -0800)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 27 Feb 2026 15:40:20 +0000 (16:40 +0100)
The ww_acquire_done() call is optional. Reflect this in the annotations of
ww_acquire_done().

Fixes: 47907461e4f6 ("locking/ww_mutex: Support Clang's context analysis")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Marco Elver <elver@google.com>
Link: https://patch.msgid.link/20260225183244.4035378-4-bvanassche@acm.org
include/linux/ww_mutex.h

index 85b1fff02fde9a220dc674ad12af8f6cabb0ccf1..0c95ead5a29770a219cdf99add3f4e44e2e3ca8b 100644 (file)
@@ -181,7 +181,7 @@ static inline void ww_acquire_init(struct ww_acquire_ctx *ctx,
  * data structures.
  */
 static inline void ww_acquire_done(struct ww_acquire_ctx *ctx)
-       __releases(ctx) __acquires_shared(ctx) __no_context_analysis
+       __must_hold(ctx)
 {
 #ifdef DEBUG_WW_MUTEXES
        lockdep_assert_held(ctx);
@@ -199,7 +199,7 @@ static inline void ww_acquire_done(struct ww_acquire_ctx *ctx)
  * mutexes have been released with ww_mutex_unlock.
  */
 static inline void ww_acquire_fini(struct ww_acquire_ctx *ctx)
-       __releases_shared(ctx) __no_context_analysis
+       __releases(ctx) __no_context_analysis
 {
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
        mutex_release(&ctx->first_lock_dep_map, _THIS_IP_);