diff --git a/fs/namespace.c b/fs/namespace.c index 9e0ea73f2ff9..6bde71735efa 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1346,9 +1346,9 @@ void mntput(struct vfsmount *mnt) { if (mnt) { struct mount *m = real_mount(mnt); - /* avoid cacheline pingpong, hope gcc doesn't get "smart" */ + /* avoid cacheline pingpong */ if (unlikely(m->mnt_expiry_mark)) - m->mnt_expiry_mark = 0; + WRITE_ONCE(m->mnt_expiry_mark, 0); mntput_no_expire(m); } }