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

Reply via email to