By default mounts are MS_PRIVATE (kernel default) but systemd
decided to make it MS_SHARED by default since v188
https://github.com/systemd/systemd/commit/
b3ac5f8cb98757416d8660023d6564a7c411f0a0
This patch fixes ujail on systemd distro (useful for development at least).
Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com>
return -1;
}
+ /* oldroot can't be MS_SHARED else pivot_root() fails */
+ if (mount("none", "/", NULL, MS_REC|MS_PRIVATE, NULL)) {
+ ERROR("private mount failed %s\n", strerror(errno));
+ return -1;
+ }
+
if (mount("tmpfs", jail_root, "tmpfs", MS_NOATIME, "mode=0755")) {
ERROR("tmpfs mount failed %s\n", strerror(errno));
return -1;