Messages in this thread | | | Date | Tue, 23 Sep 2014 23:47:59 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH v3 01/29] asm-generic: add generic futex for !CONFIG_SMP |
| |
On Tue, 23 Sep 2014, LF.Tan wrote: > On Mon, Sep 8, 2014 at 5:22 PM, Ley Foon Tan <lftan@altera.com> wrote: > > Follow m68k futex implementation for !CONFIG_SMP.
Great. Follow arch/random implementation blindly and copy all the bugs in it.
> > +static inline int > > +futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, > > + u32 oldval, u32 newval) > > +{ > > + u32 val; > > + > > + if (unlikely(get_user(val, uaddr) != 0)) > > + return -EFAULT; > > + > > + if (val == oldval && unlikely(put_user(newval, uaddr) != 0)) > > + return -EFAULT; > > + > > + *uval = val; > > + > > + return 0; > > +}
Care to explain how this works reliably and resembles proper cmpxchg semantics under all circumstances?
Thanks,
tglx
| |