Messages in this thread | | | Subject | Re: [PATCH] namespace.c: fix bind mount from foreign namespace | From | Miklos Szeredi <> | Date | Fri, 13 May 2005 19:34:22 +0200 |
| |
> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |