MS_REC
int type = ms_flags & ~(MS_REC | MS_SILENT);
int recurse = ms_flags & MS_REC;
return do_loopback(path, dev_name, flags & MS_REC);
ret = mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0);
flags &= MS_REC | MS_BIND;
flags &= (MS_REC | MS_SILENT | MS_SHARED | MS_PRIVATE | MS_SLAVE |
audit_log_format(ab, flags & MS_REC ? ", rbind" : ", bind");
audit_log_format(ab, flags & MS_REC ? ", runbindable" :
audit_log_format(ab, flags & MS_REC ? ", rprivate" :
audit_log_format(ab, flags & MS_REC ? ", rslave" :
audit_log_format(ab, flags & MS_REC ? ", rshared" :
while (mount("", target, "none", MS_PRIVATE | MS_REC, NULL)) {
if (mount("none", "/", NULL, MS_REC | MS_PRIVATE, NULL)) {
err = mount("", "/", "", MS_REC | MS_PRIVATE, NULL);
err = sys_mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0);
if (mount("none", "/", NULL, MS_REC | MS_PRIVATE, NULL) != 0)
if (mount(NULL, "/", NULL, MS_PRIVATE | MS_REC, NULL) == -1)
ret = mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0);
ret = mount("", "/", NULL, MS_PRIVATE | MS_REC, 0);
ASSERT_SUCCESS(mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL));
ASSERT_EQ(mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL), 0);
mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL);
ASSERT_EQ(mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL), 0);
mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL);
if (sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL) != 0)
if (sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL) == -1) {
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ASSERT_EQ(sys_mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL), 0);
ret = mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL);
ret = mount("", "/", NULL, MS_REC|MS_SHARED, NULL);
ret = mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL);
if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) == -1)
ASSERT_EQ(0, mount(NULL, dir_s1d2, NULL, MS_PRIVATE | MS_REC, NULL));
ASSERT_EQ(-1, mount(NULL, dir_s3d2, NULL, MS_PRIVATE | MS_REC, NULL));
ASSERT_EQ(0, mount(NULL, TMP_DIR, NULL, MS_PRIVATE | MS_REC, NULL));
MS_BIND | MS_REC, NULL));
ret = mount(orig_path, dest_path, "bind", MS_BIND | MS_REC, NULL);
#ifndef MS_REC
ASSERT_EQ(mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0), 0);
ASSERT_EQ(mount("/tmp", "/mnt/A/AA", NULL, MS_BIND | MS_REC, NULL), 0);
ASSERT_EQ(mount("/tmp", "/mnt/A/AA", NULL, MS_BIND | MS_REC, NULL), 0);
ASSERT_EQ(mount(NULL, "/mnt", NULL, MS_REC | MS_SHARED, NULL), 0);
if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0))
#ifndef MS_REC
ASSERT_EQ(mount("/tmp", "/mnt/A/AA", NULL, MS_BIND | MS_REC, NULL), 0);
if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0))
if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0))
if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0))
if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0))
ret = mount(NULL, "/", NULL, MS_PRIVATE | MS_REC, NULL);
ret = mount("", "/", NULL, MS_PRIVATE | MS_REC, 0);
ret = mount("", "/", NULL, MS_PRIVATE | MS_REC, 0);
ret = mount("", "/", NULL, MS_PRIVATE | MS_REC, 0);
ret = mount("", "/", NULL, MS_PRIVATE | MS_REC, 0);
ret = mount("", "/", NULL, MS_PRIVATE | MS_REC, 0);
r = mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0);
ret = mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0);
if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) == -1) {
ASSERT_SUCCESS(mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL));
if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) == -1) {
if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) == -1) {