From: "J. Bruce Fields" <bfields@redhat.com>
To: Salvatore Bonaccorso <carnil@debian.org>
Cc: Elliott Mitchell <ehem+debian@m5p.com>,
962254@bugs.debian.org, linux-nfs@vger.kernel.org,
agruenba@redhat.com
Subject: Re: Umask ignored when mounting NFSv4.2 share of an exported Filesystem with noacl (was: Re: Bug#962254: NFS(v4) broken at 4.19.118-2)
Date: Tue, 16 Jun 2020 20:58:49 -0400 [thread overview]
Message-ID: <20200617005849.GA262660@pick.fieldses.org> (raw)
In-Reply-To: <20200616161658.GA17251@lorien.valinor.li>
On Tue, Jun 16, 2020 at 06:16:58PM +0200, Salvatore Bonaccorso wrote:
> This might be unneeded to test but as additional datapoint which
> confirms the suspect: I tried check the commit around 47057abde515
> ("nfsd: add support for the umask attribute") in 4.10-rc1
>
> A kernel built with 47057abde515~1, and mounting from an enough recent
> client which has at least dff25ddb4808 ("nfs: add support for the
> umask attribute") does not show the observed behaviour, the server
> built with 47057abde515 does.
Thanks for the confirmation!
I think I'll send the following upstream.
--b.
commit 595ccdca9321
Author: J. Bruce Fields <bfields@redhat.com>
Date: Tue Jun 16 16:43:18 2020 -0400
nfsd: apply umask on fs without ACL support
The server is failing to apply the umask when creating new objects on
filesystems without ACL support.
To reproduce this, you need to use NFSv4.2 and a client and server
recent enough to support umask, and you need to export a filesystem that
lacks ACL support (for example, ext4 with the "noacl" mount option).
Filesystems with ACL support are expected to take care of the umask
themselves (usually by calling posix_acl_create).
For filesystems without ACL support, this is up to the caller of
vfs_create(), vfs_mknod(), or vfs_mkdir().
Reported-by: Elliott Mitchell <ehem+debian@m5p.com>
Reported-by: Salvatore Bonaccorso <carnil@debian.org>
Fixes: 47057abde515 ("nfsd: add support for the umask attribute")
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 0aa02eb18bd3..8fa3e0ff3671 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1225,6 +1225,9 @@ nfsd_create_locked(struct svc_rqst *rqstp, struct svc_fh *fhp,
iap->ia_mode = 0;
iap->ia_mode = (iap->ia_mode & S_IALLUGO) | type;
+ if (!IS_POSIXACL(dirp))
+ iap->ia_mode &= ~current_umask();
+
err = 0;
host_err = 0;
switch (type) {
@@ -1457,6 +1460,9 @@ do_nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
goto out;
}
+ if (!IS_POSIXACL(dirp))
+ iap->ia_mode &= ~current_umask();
+
host_err = vfs_create(dirp, dchild, iap->ia_mode, true);
if (host_err < 0) {
fh_drop_write(fhp);
next prev parent reply other threads:[~2020-06-17 0:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200605064426.GA1538868@eldamar.local>
[not found] ` <20200605051607.GA34405@mattapan.m5p.com>
[not found] ` <20200605174349.GA40135@mattapan.m5p.com>
[not found] ` <20200605183631.GA1720057@eldamar.local>
[not found] ` <20200611223711.GA37917@mattapan.m5p.com>
2020-06-13 12:54 ` Umask ignored when mounting NFSv4.2 share of an exported ZFS (with acltype=off) (was: Re: Bug#962254: NFS(v4) broken at 4.19.118-2) Salvatore Bonaccorso
2020-06-13 18:45 ` Elliott Mitchell
2020-06-15 14:50 ` J. Bruce Fields
2020-06-15 18:53 ` Umask ignored when mounting NFSv4.2 share of an exported Filesystem with noacl " Salvatore Bonaccorso
2020-06-16 2:38 ` J. Bruce Fields
2020-06-16 2:42 ` J. Bruce Fields
2020-06-16 5:32 ` Salvatore Bonaccorso
2020-06-16 16:16 ` Salvatore Bonaccorso
2020-06-17 0:58 ` J. Bruce Fields [this message]
2020-06-17 4:58 ` Umask ignored when mounting NFSv4.2 share of an exported Filesystem with noacl Salvatore Bonaccorso
2020-06-17 12:46 ` J. Bruce Fields
2020-06-17 14:42 ` Umask ignored when mounting NFSv4.2 share of an exported Filesystem with noacl (was: Re: Bug#962254: NFS(v4) broken at 4.19.118-2) Andreas Gruenbacher
2020-06-17 15:31 ` J. Bruce Fields
2020-06-17 16:50 ` Andreas Gruenbacher
2020-06-16 5:28 ` Salvatore Bonaccorso
2020-06-16 1:57 ` Umask ignored when mounting NFSv4.2 share of an exported ZFS (with acltype=off) " Elliott Mitchell
2020-06-15 11:55 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200617005849.GA262660@pick.fieldses.org \
--to=bfields@redhat.com \
--cc=962254@bugs.debian.org \
--cc=agruenba@redhat.com \
--cc=carnil@debian.org \
--cc=ehem+debian@m5p.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.