MS_SHARED
if (type & ~(MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
if (type == MS_SHARED) {
if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
(MS_UNBINDABLE | MS_PRIVATE | MS_SLAVE | MS_SHARED)
if (kattr->propagation == MS_SHARED) {
propagation |= MS_SHARED;
if (type == MS_SHARED) {
if (sm->mnt_propagation & MS_SHARED)
#ifndef MS_SHARED
else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE |
flags &= (MS_REC | MS_SILENT | MS_SHARED | MS_PRIVATE | MS_SLAVE |
if (flags & MS_SHARED)
} else if (flags & MS_SHARED) {
flags &= ~MS_SHARED;
if (flags & (MS_SHARED | MS_SLAVE | MS_UNBINDABLE))
if (flags & (MS_SHARED | MS_PRIVATE | MS_UNBINDABLE))
if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE))
ret = mount("", "/", NULL, MS_SHARED, NULL);
ret = mount("", "/a", NULL, MS_SHARED, NULL);
ret = mount("", "/", NULL, MS_SHARED, NULL);
ret = mount("", "/a", NULL, MS_SHARED, NULL);
ret = mount("", "/", NULL, MS_REC|MS_SHARED, NULL);
ASSERT_EQ(mount(NULL, "/mnt", NULL, MS_REC | MS_SHARED, NULL), 0);
.propagation = MS_SHARED,
attr.propagation = MS_SHARED;
.propagation = MS_SHARED,
#ifndef MS_SHARED
if (mount(NULL, SET_GROUP_FROM, NULL, MS_SHARED, 0))
#ifndef MS_SHARED
ret = mount(NULL, SET_GROUP_A, NULL, MS_SHARED, 0);