[PATCH v11 40/48] ext4: Don't allow unmapped identifiers in richacls

Andreas Gruenbacher
2015-10-16T15:23:01Z

Don't allow acls which contain unmapped identifiers: they are meaningful
for remote file systems only.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
---
fs/ext4/richacl.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/fs/ext4/richacl.c b/fs/ext4/richacl.c
index 906d048..2115385 100644
--- a/fs/ext4/richacl.c
+++ b/fs/ext4/richacl.c
@@ -74,6 +74,10 @@ __ext4_set_richacl(handle_t *handle, struct inode *inode, struct richacl *acl)
int retval, size;
void *value;

+ /* Don't allow acls with unmapped identifiers. */
+ if (richacl_has_unmapped_identifiers(acl))
+ return -EINVAL;
+
if (richacl_equiv_mode(acl, &mode) == 0) {
inode->i_ctime = ext4_current_time(inode);
inode->i_mode = mode;