Messages in this thread | | | Date | Tue, 8 Mar 2011 21:17:11 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH] futex: cmpxchg_futex_value_locked API change |
| |
On Sun, 6 Mar 2011, Michel Lespinasse wrote: > The cmpxchg_futex_value_locked API was funny in that it returned either > the original, user-exposed futex value OR an error code such as -EFAULT. > This was confusing at best, and could be a source of livelocks in places > that retry the cmpxchg_futex_value_locked after trying to fix the issue > by running fault_in_user_writeable(). > > This change makes the cmpxchg_futex_value_locked API more similar to the > get_futex_value_locked one, returning an error code and updating the > original value through a reference argument.
Ack.
> static inline int > -futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) > +futex_atomic_cmpxchg_inatomic(int *uval, int __user *uaddr, > + int oldval, int newval)
Can we please change the arguments to u32 while at it? The futex core code uses u32 all over the place so those inlines should do the same.
Thanks,
tglx
| |