create_mnt_ns: unidiomatic use of list_add()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 4 May 2013 19:18:53 +0000 (15:18 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 4 May 2013 19:18:53 +0000 (15:18 -0400)
while list_add(A, B) and list_add(B, A) are equivalent when both A and B
are guaranteed to be empty, the usual idiom is list_add(what, where),
not the other way round...  Not a bug per se, but only by accident and
it makes RTFS harder for no good reason.

Spotted-by: Rajat Sharma <fs.rajat@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namespace.c

index b68eef2..7b1ca9b 100644 (file)
@@ -2463,7 +2463,7 @@ static struct mnt_namespace *create_mnt_ns(struct vfsmount *m)
                struct mount *mnt = real_mount(m);
                mnt->mnt_ns = new_ns;
                new_ns->root = mnt;
-               list_add(&new_ns->list, &mnt->mnt_list);
+               list_add(&mnt->mnt_list, &new_ns->list);
        } else {
                mntput(m);
        }