Re: [AppArmor 33/41] Add d_namespace_path() to obtain namespace relative pathnames

Al Viro
2007-04-12T10:49:26Z

> +char *d_namespace_path(struct dentry *dentry, struct vfsmount *vfsmnt,
> + char *buf, int buflen)
> +{
> + char *res;
> + struct vfsmount *rootmnt, *nsrootmnt;
> + struct dentry *root;
> +
> + read_lock(&current->fs->lock);
> + rootmnt = mntget(current->fs->rootmnt);
> + read_unlock(&current->fs->lock);
> + spin_lock(&vfsmount_lock);
> + nsrootmnt = mntget(rootmnt->mnt_ns->root);

... and when somebody does umount -l on your chroot jail, you get
NULL ->mnt_ns. Oops...