Message ID | 20230919081824.1096619-1-max.kellermann@ionos.com |
---|---|
State | Awaiting Upstream |
Headers | show |
Series | fs/ext4/acl: apply umask if ACL support is disabled | expand |
On Tue, 19 Sep 2023 10:18:23 +0200, Max Kellermann wrote: > 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: > > [...] Applied, thanks! [1/1] fs/ext4/acl: apply umask if ACL support is disabled commit: 484fd6c1de13b336806a967908a927cc0356e312 Best regards,
diff --git a/fs/ext4/acl.h b/fs/ext4/acl.h index 0c5a79c3b5d4..ef4c19e5f570 100644 --- a/fs/ext4/acl.h +++ b/fs/ext4/acl.h @@ -68,6 +68,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 */