[GIT PULL] [PATCH 00/13] Rust atomic changes for v7.1

From: Boqun Feng

Date: Tue Mar 03 2026 - 15:17:15 EST


Hi Peter,

Please pull these changes of Rust atomic in v7.1 into tip/locking/core.
Major changes are the atomic pointer support and a boolean-like
AtomicFlag type (using a byte if arch support efficient xchg/cmpxchg
over bytes otherwise 4 bytes). Thanks!

Regards,
Boqun


The following changes since commit 3dcef70e41ab13483803c536ddea8d5f1803ee25:

ww-mutex: Fix the ww_acquire_ctx function annotations (2026-02-27 16:40:20 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-atomic.20260303a

for you to fetch changes up to 68d1c8ac7f0b1f0de92a803b9b71090fd1b86d17:

rust: atomic: Update a safety comment in impl of `fetch_add()` (2026-03-03 11:55:57 -0800)

----------------------------------------------------------------
Rust atomic changes for v7.1

* Add Atomic<ptr> support.
* Add an AtomicFlag type for boolean-like usage with
architecture-specific performance optimization.
* Add unsafe atomic operations over raw pointers.
* Add `fetch_sub()` for atomic types.
* Documentation and example improvements.
-----BEGIN PGP SIGNATURE-----

iQFFBAABCAAvFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmmnPU0RHGJvcXVuQGtl
cm5lbC5vcmcACgkQSXnow7UH+rgKrgf/UNZb0CmIG7d2jN1GsTHwYa8disAGlWFk
KOSTMNn83WICVhIIqUqrRcvSzR0FLwpp1jOH0lMYzZlfxQBOIoVc82xXD2SLLjAa
2VS/vknOitxAsChFceKs7w+hcQD168xSbDqo/dSxI/KO+OMQUxLqTW0zKTVYZhij
JIfv57Nv1331J+gnwici6/q3cBqP14Hv968cZ5Dw8tqWJMpMuqJPQLsgKg5um6Y0
hzpgXLkkB8Vg02qku/YdkcBFCvxWz5CifOpmLWNum+B82emELHmKhpOUdticuWof
iUkqygu4Un+QAcKb+8LG3L30UW3GBw4kEHpb357jc/EqZHvhX5aEYg==
=CYTx
-----END PGP SIGNATURE-----

----------------------------------------------------------------
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()`

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

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

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 ++++++++++++
5 files changed, 496 insertions(+), 133 deletions(-)