Messages in this thread |  | | Date | Mon, 3 Oct 2016 10:19:06 -0400 | From | Steven Rostedt <> | Subject | Re: [RFC][PATCH 2/4] futex: Use smp_store_release() in mark_wake_futex() |
| |
On Mon, 03 Oct 2016 11:12:36 +0200 Peter Zijlstra <peterz@infradead.org> wrote:
> Since the futex_q can dissapear the instruction after assigning NULL, > this really should be a RELEASE barrier. That stops loads from hitting > dead memory too. > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > --- > kernel/futex.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > --- a/kernel/futex.c > +++ b/kernel/futex.c > @@ -1288,8 +1288,7 @@ static void mark_wake_futex(struct wake_ > * memory barrier is required here to prevent the following > * store to lock_ptr from getting ahead of the plist_del. > */ > - smp_wmb(); > - q->lock_ptr = NULL; > + smp_store_release(&q->lock_ptr, NULL); > } > > static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *top_waiter, >
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
-- Steve
|  |