From 620d8702987e09a404346b95682f973905553e50 Mon Sep 17 00:00:00 2001 From: Jake Hillion Date: Sat, 9 Apr 2022 19:29:23 +0100 Subject: [PATCH] remount as private to avoid recursive umount --- src/void.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/void.rs b/src/void.rs index af0bca1..9ffaa49 100644 --- a/src/void.rs +++ b/src/void.rs @@ -175,6 +175,20 @@ impl VoidBuilder { })?; } + // recursively remount the old root as private to avoid shared unmounting + // the submounts (because MNT_DETACH is recursive) + mount( + Option::<&str>::None, + "/old_root/", + Option::<&str>::None, + MsFlags::MS_REC | MsFlags::MS_PRIVATE, + Option::<&str>::None, + ) + .map_err(|e| Error::Nix { + msg: "mount", + src: e, + })?; + // unmount the old root umount2("/old_root/", MntFlags::MNT_DETACH).map_err(|e| Error::Nix { msg: "umount2",