Re: [PATCH v2] rust: page: add byte-wise atomic memory copy methods
From: Peter Zijlstra
Date: Tue Feb 17 2026 - 04:45:38 EST
On Tue, Feb 17, 2026 at 09:33:40AM +0000, Alice Ryhl wrote:
> On Tue, Feb 17, 2026 at 10:13:48AM +0100, Peter Zijlstra wrote:
> > On Fri, Feb 13, 2026 at 08:19:17AM -0800, Boqun Feng wrote:
> > > Well, in standard C, technically memcpy() has the same problem as Rust's
> > > `core::ptr::copy()` and `core::ptr::copy_nonoverlapping()`, i.e. they
> > > are vulnerable to data races. Our in-kernel memcpy() on the other hand
> > > doesn't have this problem. Why? Because it's volatile byte-wise atomic
> > > per the implementation.
> >
> > Look at arch/x86/lib/memcpy_64.S, plenty of movq variants there. Not
> > byte-wise.
>
> movq is a valid implementation of 8 byte-wise copies.
>
> > Also, not a single atomic operation in sight.
>
> Relaxed atomics are just mov ops.
They are not atomics at all.
Somewhere along the line 'atomic' seems to have lost any and all meaning
:-(
It must be this C committee and their weasel speak for fear of reality
that has infected everyone or somesuch.
Anyway, all you really want is a normal memcpy and somehow Rust cannot
provide? WTF?!