Re: [PATCH 4/5] rust: sync: atomic: Add Atomic<*mut T> support

From: FUJITA Tomonori

Date: Sun Jan 18 2026 - 23:59:02 EST


On Sat, 17 Jan 2026 20:22:42 +0800
Boqun Feng <boqun.feng@xxxxxxxxx> wrote:

> Atomic pointer support is an important piece of synchronization
> algorithm, e.g. RCU, hence provide the support for that.
>
> Note that instead of relying on atomic_long or the implementation of
> `Atomic<usize>`, a new set of helpers (atomic_ptr_*) is introduced for
> atomic pointer specifically, this is because ptr2int casting would
> lose the provenance of a pointer and even though in theory there are a
> few tricks the provenance can be restored, it'll still be a simpler
> implementation if C could provide atomic pointers directly. The side
> effects of this approach are: we don't have the arithmetic and logical
> operations for pointers yet and the current implementation only works
> on ARCH_SUPPORTS_ATOMIC_RMW architectures, but these are implementation
> issues and can be added later.
>
> Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
> ---
> rust/helpers/atomic_ext.c | 3 +++
> rust/kernel/sync/atomic.rs | 12 +++++++++++-
> rust/kernel/sync/atomic/internal.rs | 21 +++++++++++++++------
> rust/kernel/sync/atomic/predefine.rs | 23 +++++++++++++++++++++++
> 4 files changed, 52 insertions(+), 7 deletions(-)

Reviewed-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxx>