diff --git a/fs/namei.c b/fs/namei.c
index e6cd6113872ccd4db1dadfa5deff08f90a45c8a0..54fc993e3027d4dff98dcf4f14ebbb4d817cdb0f 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -697,6 +697,7 @@ static __always_inline void set_root_rcu(struct nameidata *nd)
 		do {
 			seq = read_seqcount_begin(&fs->seq);
 			nd->root = fs->root;
+			nd->seq = __read_seqcount_begin(&nd->root.dentry->d_seq);
 		} while (read_seqcount_retry(&fs->seq, seq));
 	}
 }