Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 329c5056 authored by Miao Xie's avatar Miao Xie Committed by Li Zefan
Browse files

Btrfs: Check validity before setting an acl



Call posix_acl_valid() to check if an acl is valid or not.

Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
parent 3153495d
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -178,16 +178,17 @@ static int btrfs_xattr_acl_set(struct dentry *dentry, const char *name,

	if (value) {
		acl = posix_acl_from_xattr(value, size);
		if (acl == NULL) {
			value = NULL;
			size = 0;
		if (acl) {
			ret = posix_acl_valid(acl);
			if (ret)
				goto out;
		} else if (IS_ERR(acl)) {
			return PTR_ERR(acl);
		}
	}

	ret = btrfs_set_acl(NULL, dentry->d_inode, acl, type);

out:
	posix_acl_release(acl);

	return ret;