Skip to content

Commit 9982679

Browse files
Andrea Parrigregkh
authored andcommitted
kernfs: fix barrier usage in __kernfs_new_node()
smp_mb__before_atomic() can not be applied to atomic_set(). Remove the barrier and rely on RELEASE synchronization. Fixes: ba16b28 ("kernfs: add an API to get kernfs node from inode number") Cc: [email protected] Signed-off-by: Andrea Parri <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 0d1a393 commit 9982679

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

fs/kernfs/dir.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -650,11 +650,10 @@ static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root,
650650
kn->id.generation = gen;
651651

652652
/*
653-
* set ino first. This barrier is paired with atomic_inc_not_zero in
653+
* set ino first. This RELEASE is paired with atomic_inc_not_zero in
654654
* kernfs_find_and_get_node_by_ino
655655
*/
656-
smp_mb__before_atomic();
657-
atomic_set(&kn->count, 1);
656+
atomic_set_release(&kn->count, 1);
658657
atomic_set(&kn->active, KN_DEACTIVATED_BIAS);
659658
RB_CLEAR_NODE(&kn->rb);
660659

0 commit comments

Comments
 (0)