if (!mnt) return false;
else if ((mnt->flag & (MS_BIND|MS_MOVE))) return true;
+ else if ((mnt->flag & (MS_SHARED|MS_SLAVE|MS_PRIVATE|
+ MS_UNBINDABLE))) return true;
else if (mnt->type==0) return false;
for (i=FS+0; *i!=0; ++i)
return false;
if (mount(mnt->src, ".",
mnt->type ? mnt->type : "",
- ((mnt->flag & ~(MS_BIND|MS_REC)) |
- MS_REMOUNT), NULL) == -1 &&
+ (mnt->flag | MS_REMOUNT), NULL) == -1 &&
errno != EBUSY) { /* Returned on older kernels */
perror("secure-mount: mount()");
return false;