vfs, freeze: use ACCESS_ONCE() to guard access to ->mnt_flags
PATCH 1/1 vfs, freeze: use ACCESS_ONCE() to guard access to ->mnt_flags
The compiler may optimize the while loop and make the check just be done once, so we should use ACCESS_ONCE() to guard access to ->mnt_flags
Signed-off-by Miao Xie <[email protected]>
--- fs/namespace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/namespace.c +1 -1
@@ -311,7 +311,7 @@ int __mnt_want_write(struct vfsmount *m)* incremented count after it has set MNT_WRITE_HOLD. */ smp_mb (); -while (mnt->mnt.mnt_flags &MNT_WRITE_HOLD ) +while (ACCESS_ONCE (mnt->mnt.mnt_flags) &MNT_WRITE_HOLD )cpu_relax ();/* * After the slowpath clears MNT_WRITE_HOLD, mnt_is_readonly will
Signature · 1 line
1.7.11.7
Quoted 2 lines · Miao Xie
The compiler may optimize the while loop and make the check just be done once, so we should use
ACCESS_ONCE()to guard access to ->mnt_flags
Applied.