On Tue, Apr 16, 2019 at 02:17:11PM +0200, Andrea Parri wrote: > smp_mb__before_atomic() can not be applied to atomic_set(). Remove the > barrier and rely on RELEASE synchronization. > > Fixes: ba16b2846a8c6 ("kernfs: add an API to get kernfs node from inode > number") > Cc: sta...@vger.kernel.org > Signed-off-by: Andrea Parri <andrea.pa...@amarulasolutions.com> > --- > fs/kernfs/dir.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c > index b84d635567d38..1e7a74b8e0647 100644 > --- a/fs/kernfs/dir.c > +++ b/fs/kernfs/dir.c > @@ -650,11 +650,10 @@ static struct kernfs_node *__kernfs_new_node(struct > kernfs_root *root, > kn->id.generation = gen; > > /* > - * set ino first. This barrier is paired with atomic_inc_not_zero in > + * set ino first. This RELEASE is paired with atomic_inc_not_zero in > * kernfs_find_and_get_node_by_ino > */ > - smp_mb__before_atomic(); > - atomic_set(&kn->count, 1); > + atomic_set_release(&kn->count, 1);
Acked-by: Tejun Heo <t...@kernel.org> Thanks. -- tejun