vfs_mount.c: fix vfs_domount() for PRIV_VFS_MOUNT_EXPORTED
It appears that, prior to r158857 vfs_domount() checked suser() when MNT_EXPORTED was specified. r158857 appears to have broken this, since MNT_EXPORTED was no longer set when mountd.c was converted to use nmount(2). r164033 replaced the suser() check with priv_check(td, PRIV_VFS_MOUNT_EXPORTED), which does the same thing (ie. checks for effective uid == 0 assuming suses_enabled is set). This patch restores this check by setting MNT_EXPORTED when the "export" mount option is specified to nmount(). I think this is reasonable since only mountd(8) should be setting exports and I doubt any non-root mounted file system would be setting its own exports. Reviewed by: kib, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D37718
This commit is contained in:
parent
8fb9739615
commit
195f1b124d
@ -924,6 +924,8 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions)
|
||||
fsflags |= MNT_SYNCHRONOUS;
|
||||
else if (strcmp(opt->name, "union") == 0)
|
||||
fsflags |= MNT_UNION;
|
||||
else if (strcmp(opt->name, "export") == 0)
|
||||
fsflags |= MNT_EXPORTED;
|
||||
else if (strcmp(opt->name, "automounted") == 0) {
|
||||
fsflags |= MNT_AUTOMOUNTED;
|
||||
do_freeopt = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user