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

Reply via email to