summaryrefslogtreecommitdiffstats
path: root/fs/ext4/acl.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--fs/ext4/acl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/ext4/acl.h b/fs/ext4/acl.h
index 9b63f5416..7f3b25b3f 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 */