> static int do_loopback(struct nameidata *nd, char *old_name, int recurse)
> {
> struct nameidata old_nd;
> struct vfsmount *mnt = NULL;
> /* no changes of mnt */
> err = -EINVAL;
> if (check_mnt(nd->mnt) && ... ) {
> /* assigns to mnt */
> }
> if (mnt) {
> /* assigns to err */
> }
> up_write(¤t->namespace->sem);
> path_release(&old_nd);
> return err;
> }
>
> Care to explain how that would not give -EINVAL?
Yeah, but that check_mnt() checks the _destination_ of the bind not
the source. The source is only checked for recursive mounts,
presumably because the source namespace is not locked, and so can
change.
Miklos
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]