fix of weird corner case in copy_mnt_ns()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQqUNBr3gm4hGXdBJlZ7Krx/gZQ6wUCY5ZzcgAKCRBZ7Krx/gZQ 67oZAQCJ3ucfmif/P+GPhgNqUV0sb/zL036mAvBw9Cz3q36JcgD9E/NuS0DYWS6+ fOsNMFFDbXUPAz7Ny3BFV8W3wFrClw4= =t2Lt -----END PGP SIGNATURE----- Merge tag 'pull-namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull namespace fix from Al Viro: "Fix weird corner case in copy_mnt_ns()" * tag 'pull-namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: copy_mnt_ns(): handle a corner case (overmounted mntns bindings) saner
This commit is contained in:
Коммит
13c574fec8
|
@ -3515,8 +3515,9 @@ struct mnt_namespace *copy_mnt_ns(unsigned long flags, struct mnt_namespace *ns,
|
|||
q = next_mnt(q, new);
|
||||
if (!q)
|
||||
break;
|
||||
// an mntns binding we'd skipped?
|
||||
while (p->mnt.mnt_root != q->mnt.mnt_root)
|
||||
p = next_mnt(p, old);
|
||||
p = next_mnt(skip_mnt_tree(p), old);
|
||||
}
|
||||
namespace_unlock();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче