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

Commit f5de9391 authored by Daniel J Blueman's avatar Daniel J Blueman Committed by Chris Mason
Browse files

Prevent oopsing in posix_acl_valid()



If posix_acl_from_xattr() returns an error code, a negative address is
dereferenced causing an oops; fix by checking for error code first.

Signed-off-by: default avatarDaniel J Blueman <daniel.blueman@gmail.com>
Reviewed-by: default avatarJosef Bacik <josef@redhat.com>
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent 7cf96da3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -178,12 +178,13 @@ static int btrfs_xattr_acl_set(struct dentry *dentry, const char *name,

	if (value) {
		acl = posix_acl_from_xattr(value, size);
		if (IS_ERR(acl))
			return PTR_ERR(acl);

		if (acl) {
			ret = posix_acl_valid(acl);
			if (ret)
				goto out;
		} else if (IS_ERR(acl)) {
			return PTR_ERR(acl);
		}
	}