[PATCH 4/5] rust: hrtimer: use READ_ONCE instead of read_volatile
Alice Ryhl
aliceryhl at google.com
Tue Jan 6 10:43:17 PST 2026
On Tue, Jan 06, 2026 at 03:23:00PM +0000, Gary Guo wrote:
> On Tue, 06 Jan 2026 13:37:34 +0100
> Andreas Hindborg <a.hindborg at kernel.org> wrote:
>
> > "FUJITA Tomonori" <fujita.tomonori at gmail.com> writes:
> > >
> > > Sorry, of course this should be:
> > >
> > > +__rust_helper ktime_t rust_helper_hrtimer_get_expires(const struct hrtimer *timer)
> > > +{
> > > + return hrtimer_get_expires(timer);
> > > +}
> > >
> >
> > This is a potentially racy read. As far as I recall, we determined that
> > using read_once is the proper way to handle the situation.
> >
> > I do not think it makes a difference that the read is done by C code.
>
> If that's the case I think the C code should be fixed by inserting the
> READ_ONCE?
I maintain my position that if this is what you recommend C code does,
it's confusing to not make the same recommendation for Rust abstractions
to the same thing.
After all, nothing is stopping you from calling atomic_read() in C too.
Alice
More information about the linux-arm-kernel
mailing list