Re: [PATCH 0/11] Detaching mounts on unlink
From: Miklos Szeredi
Date: Tue Feb 18 2014 - 12:42:23 EST
On Sat, Feb 15, 2014 at 01:34:43PM -0800, Eric W. Biederman wrote:
>
> The last round of this patchset the semantics of dropping mounts on
> unlink were agreed upon so long as we preserve the current semantics in
> a single mount namespace.
>
> There are two big changes with this version of the patchset.
> 1) The test for a mount in the current mount namespace has been
> rewritten so that it is actually correct and is now a drop in
> replacement for d_mountpoint. Removing the need for code changes
> that could cause unitended regressions.
>
> 2) This work has been comprehensivly extend to d_revalidate and
> d_invalidate allowing some long standing bugs to be fixed at the end
> of this patch series.
>
> In net this should result in a kernel that is more comprehensible and
> maintainble as well as fixing some possible mount leaks, and removing
> the possibility of DOS attacks from evily placed mount points, in other
> mount namespaces.
This patchset looks good to me. You can add
Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx>
Thanks,
Miklos
>
> Eric W. Biederman (11):
> vfs: Document the effect of d_revalidate on d_find_alias
> vfs: More precise tests in d_invalidate
> vfs: Don't allow overwriting mounts in the current mount namespace
> vfs: Keep a list of mounts on a mount point
> vfs: Add a function to lazily unmount all mounts from any dentry.
> vfs: Lazily remove mounts on unlinked files and directories.
> vfs: Remove unnecessary calls of check_submounts_and_drop
> vfs: Merge check_submounts_and_drop and d_invalidate
> vfs: Make d_invalidate return void
> vfs: Remove d_drop calls from d_revalidate implementations
> proc: Update proc_flush_task_mnt to use d_invalidate
>
> fs/afs/dir.c | 5 --
> fs/btrfs/ioctl.c | 5 +--
> fs/ceph/dir.c | 1 -
> fs/cifs/readdir.c | 6 +--
> fs/dcache.c | 140 +++++++++++++++++-------------------------------
> fs/fuse/dir.c | 7 +--
> fs/gfs2/dentry.c | 3 -
> fs/kernfs/dir.c | 11 ----
> fs/mount.h | 13 +++++
> fs/namei.c | 28 ++++++----
> fs/namespace.c | 80 +++++++++++++++++++++++++++
> fs/nfs/dir.c | 7 +--
> fs/proc/base.c | 10 +---
> fs/proc/fd.c | 2 -
> include/linux/dcache.h | 3 +-
> 15 files changed, 167 insertions(+), 154 deletions(-)
>
> Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/