summary refs log tree commit diff
path: root/src/linux.rs
diff options
context:
space:
mode:
authorChirantan Ekbote <chirantan@chromium.org>2020-04-20 18:15:02 +0900
committerCommit Bot <commit-bot@chromium.org>2020-04-28 20:20:28 +0000
commit34d45e589f7cc22e342e49db84b56609ca95b90f (patch)
treec1cb6dfd91c6cec43a71ce2af9ec78077fbc1c6d /src/linux.rs
parent93dca2fd9a7d623ea6f69f3b6bcc74fdf9a9371c (diff)
downloadcrosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.tar
crosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.tar.gz
crosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.tar.bz2
crosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.tar.lz
crosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.tar.xz
crosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.tar.zst
crosvm-34d45e589f7cc22e342e49db84b56609ca95b90f.zip
linux.rs: Set MS_SLAVE mount propagation for virtio-fs
Allow mounts from the parent namespace to propagate into the virtio-fs
device's mount namespace.

BUG=b:123377807
TEST=vm.Fio.virtiofs_stress_rw and manual

Change-Id: I1b8f1b411bd72a8cf5d5b4b30fa5dad466f1e48f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2156327
Reviewed-by: Stephen Barber <smbarber@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Chirantan Ekbote <chirantan@chromium.org>
Diffstat (limited to 'src/linux.rs')
-rw-r--r--src/linux.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/linux.rs b/src/linux.rs
index cebfa77..e480a4c 100644
--- a/src/linux.rs
+++ b/src/linux.rs
@@ -819,7 +819,12 @@ fn create_fs_device(
             log_failures: cfg.seccomp_log_failures,
             seccomp_policy: &seccomp_policy,
         };
-        create_base_minijail(src, Some(max_open_files), Some(&config))?
+        let mut jail = create_base_minijail(src, Some(max_open_files), Some(&config))?;
+        // We want bind mounts from the parent namespaces to propagate into the fs device's
+        // namespace.
+        jail.set_remount_mode(libc::MS_SLAVE);
+
+        jail
     } else {
         create_base_minijail(src, Some(max_open_files), None)?
     };