Before setting the acl, call posix_acl_valid() to check if it is valid or not. Signed-off-by: zhang zhen <zhenzhang.zhang@xxxxxxxxxx> --- fs/ext2/acl.c | 6 ++++++ fs/ext3/acl.c | 6 ++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index 27695e6..64b53b8 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c @@ -189,6 +189,12 @@ ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type) size_t size = 0; int error; + if (acl) { + error = posix_acl_valid(acl); + if (error < 0) + return error; + } + switch(type) { case ACL_TYPE_ACCESS: name_index = EXT2_XATTR_INDEX_POSIX_ACL_ACCESS; diff --git a/fs/ext3/acl.c b/fs/ext3/acl.c index 8bbaf5b..68f873a 100644 --- a/fs/ext3/acl.c +++ b/fs/ext3/acl.c @@ -191,6 +191,12 @@ __ext3_set_acl(handle_t *handle, struct inode *inode, int type, size_t size = 0; int error; + if (acl) { + error = posix_acl_valid(acl); + if (error < 0) + return error; + } + switch(type) { case ACL_TYPE_ACCESS: name_index = EXT3_XATTR_INDEX_POSIX_ACL_ACCESS; -- 1.6.0.2 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html