From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7ACB339524D for ; Mon, 13 Apr 2026 07:37:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776065859; cv=none; b=LLO8ItgVeeKfIFUzU89VRZusEtzugdUgQfItiV/h+a3OO2M6P42I4tNBOxmmvpVOQ7S678hbNAJW9D/TQNqUGyKQ8uVLtFV3P08DECADM+eIHFBk161kLZs4OFjorHw7LaPuHRV2aUE2GCAGGrtCTE7pbTZZgcSnfXYpvwaokuM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776065859; c=relaxed/simple; bh=BdgFzi1JcHs+bGT4cfctjW4fIsARM5Sa+l+tFKhsbM4=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=lA1ulUTDNN46jO4LEBYWRkv3Sm8YmdhOXOkvFIA9MrkRdgGJtWraqEc8uAyHHLxsFS/z5OQqZ2l+A4GrRDenCPsQuHL+IvLw3OId1UlduGR+d6Mj3BqX2yPNxaynHs7jBbJCJq2j5G3N1yQJOtBtKMDvjuj+siT9Egc1aPkJmVU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BXg+BWrF; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BXg+BWrF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DF63C116C6; Mon, 13 Apr 2026 07:37:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776065859; bh=BdgFzi1JcHs+bGT4cfctjW4fIsARM5Sa+l+tFKhsbM4=; h=Date:From:To:Cc:Subject:From; b=BXg+BWrFPaZTb1fPrpcwiRHgjD/iTJ4hkm8nEHlvzaJqxWhewoRJaZzuyeaJ+d3CE XSpynz57jhGlWW8uHm0AZwRVS9dlVw8QZqRwrtizvJeZAi7UZIa9d7jq3fS5I7tp+P uEZJKrgGz6SVcvE2g2YhdJ3wSzOpPAfmTzzPIWBUAkEiVNkpYaUFHTRqs8+7dqbwZi +Kj09lFrfBwRoRs5qeinkNa4h6nb/mH5ihHNcFfa47TaalVHFmhfAD22g/RAj1liN0 GltDLb2QeUQjeFBZPOJaoWwTKbFm+SkubEeOrJoWm9H5UulWMq3F+ZuEQLmG5DAyRB nXJn67yjrgAlw== Date: Mon, 13 Apr 2026 09:37:34 +0200 From: Ingo Molnar To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , Will Deacon , Waiman Long , Boqun Feng Subject: [GIT PULL] locking updates for v7.1 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Linus, Please pull the latest locking/core Git tree from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2026-04-13 for you to fetch changes up to a21c1e961de28b95099a9ca2c3774b2eee1a33bb: Locking updates for v7.1: Mutexes: - Add killable flavor to guard definitions (Davidlohr Bueso) - Remove the list_head from struct mutex (Matthew Wilcox) - Rename mutex_init_lockep() (Davidlohr Bueso) rwsems: - Remove the list_head from struct rw_semaphore and replace it with a single pointer (Matthew Wilcox) - Fix logic error in rwsem_del_waiter() (Andrei Vagin) Semaphores: - Remove the list_head from struct semaphore (Matthew Wilcox) Jump labels: - Use ATOMIC_INIT() for initialization of .enabled (Thomas Weißschuh) - Remove workaround for old compilers in initializations (Thomas Weißschuh) Lock context analysis changes and improvements: - Add context analysis for rwsems (Peter Zijlstra) - Fix rwlock and spinlock lock context annotations (Bart Van Assche) - Fix rwlock support in (Bart Van Assche) - Add lock context annotations in the spinlock implementation (Bart Van Assche) - signal: Fix the lock_task_sighand() annotation (Bart Van Assche) - ww-mutex: Fix the ww_acquire_ctx function annotations (Bart Van Assche) - Add lock context support in do_raw_{read,write}_trylock() (Bart Van Assche) - arm64, compiler-context-analysis: Permit alias analysis through __READ_ONCE() with CONFIG_LTO=y (Marco Elver) - Add __cond_releases() (Peter Zijlstra) - Add context analysis for mutexes (Peter Zijlstra) - Add context analysis for rtmutexes (Peter Zijlstra) - Convert futexes to compiler context analysis (Peter Zijlstra) Rust integration updates: - Add atomic fetch_sub() implementation (Andreas Hindborg) - Refactor various rust_helper_ methods for expansion (Boqun Feng) - Add Atomic<*{mut,const} T> support (Boqun Feng) - Add atomic operation helpers over raw pointers (Boqun Feng) - Add performance-optimal Flag type for atomic booleans, to avoid slow byte-sized RMWs on architectures that don't support them. (FUJITA Tomonori) - Misc cleanups and fixes (Andreas Hindborg, Boqun Feng, FUJITA Tomonori) LTO support updates: - arm64: Optimize __READ_ONCE() with CONFIG_LTO=y (Marco Elver) - compiler: Simplify generic RELOC_HIDE() (Marco Elver) Miscellaneous fixes and cleanups by Peter Zijlstra, Randy Dunlap, Thomas Weißschuh, Davidlohr Bueso and Mikhail Gavrilov. Thanks, Ingo ------------------> Andreas Hindborg (3): rust: sync: atomic: Add fetch_sub() rust: sync: atomic: Update documentation for `fetch_add()` rust: atomic: Update a safety comment in impl of `fetch_add()` Andrei Vagin (1): locking/rwsem: Fix logic error in rwsem_del_waiter() Bart Van Assche (6): locking: Fix rwlock and spinlock lock context annotations signal: Fix the lock_task_sighand() annotation ww-mutex: Fix the ww_acquire_ctx function annotations locking: Fix rwlock support in locking: Add lock context support in do_raw_{read,write}_trylock() locking: Add lock context annotations in the spinlock implementation Boqun Feng (7): rust: sync: atomic: Remove bound `T: Sync` for `Atomic::from_ptr()` rust: helpers: Generify the definitions of rust_helper_*_{read,set}* rust: helpers: Generify the definitions of rust_helper_*_xchg* rust: helpers: Generify the definitions of rust_helper_*_cmpxchg* rust: sync: atomic: Clarify the need of CONFIG_ARCH_SUPPORTS_ATOMIC_RMW rust: sync: atomic: Add Atomic<*{mut,const} T> support rust: sync: atomic: Add atomic operation helpers over raw pointers Davidlohr Bueso (3): locking/mutex: Rename mutex_init_lockep() locking/mutex: Fix wrong comment for CONFIG_DEBUG_LOCK_ALLOC locking/mutex: Add killable flavor to guard definitions FUJITA Tomonori (3): rust: sync: atomic: Add example for Atomic::get_mut() rust: sync: atomic: Add performance-optimal Flag type for atomic booleans rust: list: Use AtomicFlag in AtomicTracker Marco Elver (3): arm64: Optimize __READ_ONCE() with CONFIG_LTO=y arm64, compiler-context-analysis: Permit alias analysis through __READ_ONCE() with CONFIG_LTO=y compiler: Simplify generic RELOC_HIDE() Matthew Wilcox (Oracle) (3): locking/rwsem: Remove the list_head from struct rw_semaphore locking/semaphore: Remove the list_head from struct semaphore locking/mutex: Remove the list_head from struct mutex Mikhail Gavrilov (1): lockdep: Raise default stack trace limits when KASAN is enabled Peter Zijlstra (6): compiler-context-analysys: Add __cond_releases() locking/mutex: Add context analysis locking/rtmutex: Add context analysis locking/rwsem: Add context analysis futex: Convert to compiler context analysis cleanup: Optimize guards Randy Dunlap (1): futex: add missing function parameter comments Thomas Weißschuh (2): jump_label: use ATOMIC_INIT() for initialization of .enabled jump_label: remove workaround for old compilers in initializations arch/arm64/include/asm/rwonce.h | 24 ++- drivers/acpi/osl.c | 2 +- include/asm-generic/futex.h | 4 +- include/linux/cleanup.h | 19 +- include/linux/compiler-context-analysis.h | 32 +++ include/linux/compiler.h | 5 +- include/linux/jump_label.h | 22 +-- include/linux/mutex.h | 13 +- include/linux/mutex_types.h | 2 +- include/linux/rtmutex.h | 8 +- include/linux/rwlock.h | 18 +- include/linux/rwlock_api_smp.h | 6 +- include/linux/rwsem.h | 8 +- include/linux/sched/signal.h | 2 +- include/linux/semaphore.h | 4 +- include/linux/spinlock.h | 3 +- include/linux/spinlock_up.h | 20 +- include/linux/ww_mutex.h | 4 +- kernel/futex/Makefile | 2 + kernel/futex/core.c | 9 +- kernel/futex/futex.h | 17 +- kernel/futex/pi.c | 9 + kernel/futex/waitwake.c | 4 + kernel/jump_label.c | 9 - kernel/locking/Makefile | 5 + kernel/locking/mutex-debug.c | 5 +- kernel/locking/mutex.c | 82 +++++--- kernel/locking/mutex.h | 1 + kernel/locking/rtmutex.c | 18 +- kernel/locking/rtmutex_api.c | 2 + kernel/locking/rtmutex_common.h | 27 ++- kernel/locking/rwbase_rt.c | 1 + kernel/locking/rwsem.c | 113 +++++++---- kernel/locking/semaphore.c | 41 +++- kernel/locking/spinlock.c | 12 +- kernel/locking/ww_mutex.h | 49 +++-- kernel/locking/ww_rt_mutex.c | 1 + lib/Kconfig.debug | 8 + lib/test_context-analysis.c | 11 ++ rust/helpers/atomic_ext.c | 158 +++++---------- rust/kernel/list/arc.rs | 8 +- rust/kernel/sync/atomic.rs | 310 ++++++++++++++++++++++++++++-- rust/kernel/sync/atomic/internal.rs | 44 +++-- rust/kernel/sync/atomic/predefine.rs | 109 +++++++++++ scripts/context-analysis-suppression.txt | 1 + 45 files changed, 925 insertions(+), 327 deletions(-)