fs/ntfs3: fix an error code in ntfs_get_acl_ex()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 24 Aug 2021 11:48:58 +0000 (14:48 +0300)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Fri, 27 Aug 2021 14:05:13 +0000 (17:05 +0300)
The ntfs_get_ea() function returns negative error codes or on success
it returns the length.  In the original code a zero length return was
treated as -ENODATA and results in a NULL return.  But it should be
treated as an invalid length and result in an PTR_ERR(-EINVAL) return.

Fixes: be71b5cba2e6 ("fs/ntfs3: Add attrib operations")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/xattr.c

index af89e50..d3d5b9d 100644 (file)
@@ -521,7 +521,7 @@ static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns,
                ni_unlock(ni);
 
        /* Translate extended attribute to acl */
-       if (err > 0) {
+       if (err >= 0) {
                acl = posix_acl_from_xattr(mnt_userns, buf, err);
                if (!IS_ERR(acl))
                        set_cached_acl(inode, type, acl);