From: Karel Zak Date: Thu, 5 Jan 2012 18:32:26 +0000 (-0500) Subject: mount.nfs: don't overwrite mount options from /etc/nfsmount.conf X-Git-Tag: nfs-utils-1-2-6-rc5~8 X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=89dde6fbabf6590ad7ccccc1f20f371f27da2207;p=nfs-utils.git mount.nfs: don't overwrite mount options from /etc/nfsmount.conf The libmount (as well as mount(8)) ignores mount options from command line if running in restricted mode (suid, non-root-user) and all options are read from fstab only. It means that all options are replaced with stuff from fstab, including mount options from nfsmount.conf. This is bug. We have to apply fstab and then nfsmount.conf. Signed-off-by: Karel Zak Signed-off-by: Steve Dickson --- diff --git a/utils/mount/mount_libmount.c b/utils/mount/mount_libmount.c index e450d79..e8f17a9 100644 --- a/utils/mount/mount_libmount.c +++ b/utils/mount/mount_libmount.c @@ -346,6 +346,21 @@ static int mount_main(struct libmnt_context *cxt, int argc, char **argv) if (chk_mountpoint(mount_point)) goto err; + + /* + * The libmount strictly uses only options from fstab if running in + * restricted mode (suid, non-root user). This is done in + * mnt_context_prepare_mount() by default. + * + * We have to read fstab before nfsmount.conf, otherwise the options + * from nfsmount.conf will be ignored (overwrited). + */ + rc = mnt_context_apply_fstab(cxt); + if (rc) { + nfs_error(_("%s: failed to apply fstab options\n"), progname); + goto err; + } + /* * Concatenate mount options from the configuration file */