On Tue, Feb 10, 2026 at 05:17:46PM +0000, Yeoreum Yun wrote:
> > On Wed, Jan 21, 2026 at 07:06:21PM +0000, Yeoreum Yun wrote:
> > > +
> > > + if (futex_on_lo) {
> > > + oval64.lo_futex.val = oldval;
> > > + ret = get_user(oval64.lo_futex.other, uaddr + 1);
> > > + } else {
> > > + oval64.hi_futex.val = oldval;
> > > + ret = get_user(oval64.hi_futex.other, uaddr - 1);
> > > + }
> >
> > and here use
> >
> > get_user(oval64.raw, uaddr64);
> > futex[futex_pos] = oldval;
>
> But there is another feedback about this
> (though I did first similarly with your suggestion -- use oval64.raw):
> https://lore.kernel.org/all/aXDZGhFQDvoSwdc_@willie-the-truck/
Do you mean the 64-bit read? You can do a 32-bit uaccess, something
like:
int other_pos = futex_pos ^ 1;
get_user(futex[other_pos], (u32 __user *)uaddr64 + other_pos);
--
Catalin