tests: prefer MS_SLAVE over MS_PRIVATE for turning off mount propagation

When we open our own little namespace for running our tests in, let's
turn off mount propagation only one way, rather than both ways. This is
better as this means we don't pin host mounts unnecessarily long in our
namespace, even though the host already got rid of them. This is because
MS_SLAVE in contrast to MS_PRIVATE allows umount events to propagate
from the host into our environment.
This commit is contained in:
Lennart Poettering 2018-07-20 15:33:48 +02:00
parent be60dd3ec8
commit 74bf45bb2c
2 changed files with 2 additions and 2 deletions

View file

@ -206,7 +206,7 @@ static void test_get_process_cmdline_harder(void) {
assert_se(pid == 0);
assert_se(unshare(CLONE_NEWNS) >= 0);
assert_se(mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) >= 0);
assert_se(mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) >= 0);
fd = mkostemp(path, O_CLOEXEC);
assert_se(fd >= 0);

View file

@ -38,7 +38,7 @@ static int fake_filesystems(void) {
if (unshare(CLONE_NEWNS) < 0)
return log_error_errno(errno, "failed to call unshare(): %m");
if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) < 0)
if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0)
return log_error_errno(errno, "failed to mount / as private: %m");
for (i = 0; i < ELEMENTSOF(fakefss); i++) {