Patch "mnt: Don't propagate umounts in __detach_mounts" has been added to the 4.0-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
mnt: Don't propagate umounts in __detach_mounts
to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mnt-don-t-propagate-umounts-in-__detach_mounts.patch
and it can be found in the queue-4.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8318e667f176f7ea34451a1a530634e293f216acMon Sep 17 00:00:00 2001
From: "Eric W. Biederman" <[email protected]>
Date: Wed, 24 Dec 2014 07:35:10 -0600
Subject: mnt: Don't propagate umounts in __detach_mounts
From: "Eric W. Biederman" <[email protected]>
commit 8318e667f176f7ea34451a1a530634e293f216ac upstream.
Invoking mount propagation from __detach_mounts is inefficient and wrong.
It is inefficient because __detach_mounts already walks the list of mounts that where something needs to be done, and mount propagation walks some subset of those mounts again.
It is actively wrong because if the dentry that is passed to __detach_mounts is not part of the path to a mount that mount should not be affected.
change_mnt_propagation(p,MS_PRIVATE) modifies the mount propagation tree of a master mount so it's slaves are connected to another master if possible. Which means even removing a mount from the middle of a mount tree with __detach_mounts will not deprive any mount propagated mount events.
--- fs/namespace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/namespace.c +1 -1
@@ -1487,7 +1487,7 @@ void __detach_mounts(struct dentry *dentlock_mount_hash ();while (!hlist_empty (&mp->m_list)) { mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list); -umount_tree (mnt,UMOUNT_PROPAGATE ); +umount_tree (mnt,0 ); }unlock_mount_hash ();put_mountpoint (mp);
Patches currently in stable-queue which might be from [email protected] are
queue-4.0/mnt-don-t-propagate-umounts-in-__detach_mounts.patch queue-4.0/mnt-add-mnt_umount-flag.patch queue-4.0/mnt-honor-mnt_locked-when-detaching-mounts.patch queue-4.0/mnt-delay-removal-from-the-mount-hash.patch queue-4.0/mnt-on-an-unmount-propagate-clearing-of-mnt_locked.patch queue-4.0/mnt-don-t-propagate-unmounts-to-locked-mounts.patch queue-4.0/mnt-factor-out-unhash_mnt-from-detach_mnt-and-umount_tree.patch queue-4.0/mnt-factor-umount_mnt-from-umount_tree.patch queue-4.0/mnt-fix-the-error-check-in-__detach_mounts.patch queue-4.0/mnt-update-detach_mounts-to-leave-mounts-connected.patch queue-4.0/mnt-improve-the-umount_tree-flags.patch queue-4.0/mnt-in-umount_tree-reuse-mnt_list-instead-of-mnt_hash.patch