From: Max Kellermann <mk@cm4all.com>
To: linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
trond.myklebust@hammerspace.com
Cc: bfields@redhat.com, tytso@mit.edu, viro@zeniv.linux.org.uk,
agruenba@redhat.com, linux-kernel@vger.kernel.org,
Max Kellermann <mk@cm4all.com>,
stable@vger.kernel.org
Subject: [PATCH v3 2/4] fs/ext4/acl: apply umask if ACL support is disabled
Date: Tue, 7 Apr 2020 16:22:41 +0200 [thread overview]
Message-ID: <20200407142243.2032-2-mk@cm4all.com> (raw)
In-Reply-To: <20200407142243.2032-1-mk@cm4all.com>
The function ext4_init_acl() calls posix_acl_create() which is
responsible for applying the umask. But without
CONFIG_EXT4_FS_POSIX_ACL, ext4_init_acl() is an empty inline function,
and nobody applies the umask.
This fixes a bug which causes the umask to be ignored with O_TMPFILE
on ext4:
https://github.com/MusicPlayerDaemon/MPD/issues/558
https://bugs.gentoo.org/show_bug.cgi?id=686142#c3
https://bugzilla.kernel.org/show_bug.cgi?id=203625
Signed-off-by: Max Kellermann <mk@cm4all.com>
Reviewed-by: J. Bruce Fields <bfields@redhat.com>
Cc: stable@vger.kernel.org
---
fs/ext4/acl.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/fs/ext4/acl.h b/fs/ext4/acl.h
index 9b63f5416a2f..7f3b25b3fa6d 100644
--- a/fs/ext4/acl.h
+++ b/fs/ext4/acl.h
@@ -67,6 +67,11 @@ extern int ext4_init_acl(handle_t *, struct inode *, struct inode *);
static inline int
ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
{
+ /* usually, the umask is applied by posix_acl_create(), but if
+ ext4 ACL support is disabled at compile time, we need to do
+ it here, because posix_acl_create() will never be called */
+ inode->i_mode &= ~current_umask();
+
return 0;
}
#endif /* CONFIG_EXT4_FS_POSIX_ACL */
--
2.20.1
next prev parent reply other threads:[~2020-04-07 14:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-07 14:22 [PATCH v3 1/4] fs/posix_acl: apply umask if superblock disables ACL support Max Kellermann
2020-04-07 14:22 ` Max Kellermann [this message]
2020-04-17 7:50 ` [PATCH v3 2/4] fs/ext4/acl: apply umask if ACL support is disabled Christoph Hellwig
2020-04-07 14:22 ` [PATCH v3 3/4] linux/fs.h: fix umask on NFS with CONFIG_FS_POSIX_ACL=n Max Kellermann
2020-04-17 7:51 ` Christoph Hellwig
2020-04-07 14:22 ` [PATCH v3 4/4] nfs/super: check NFS_CAP_ACLS instead of the NFS version Max Kellermann
2020-04-17 7:53 ` Christoph Hellwig
2020-04-17 7:35 ` [PATCH v3 1/4] fs/posix_acl: apply umask if superblock disables ACL support 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=20200407142243.2032-2-mk@cm4all.com \
--to=mk@cm4all.com \
--cc=agruenba@redhat.com \
--cc=bfields@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=trond.myklebust@hammerspace.com \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/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.