lkml.org 
[lkml]   [2021]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] fs/ntfs3: fix an error code in ntfs_get_acl_ex()
    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>
    ---
    I'm not super familiar with this code. Please review this one
    extra carefully. I think it's theoretical because hopefully
    ntfs_get_ea() doesn't ever return invalid lengths.

    fs/ntfs3/xattr.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c
    index 9239c388050e..e8ed38d0c4c9 100644
    --- a/fs/ntfs3/xattr.c
    +++ b/fs/ntfs3/xattr.c
    @@ -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);
    --
    2.20.1
    \
     
     \ /
      Last update: 2021-08-24 13:50    [W:2.586 / U:0.948 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site