xfs: switch xfs_attrmulti_attr_get to lazy attr buffer allocation
authorChristoph Hellwig <hch@lst.de>
Thu, 27 Feb 2020 01:30:45 +0000 (17:30 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 3 Mar 2020 04:55:55 +0000 (20:55 -0800)
Let the low-level attr code only allocate the needed buffer size
for xfs_attrmulti_attr_get instead of allocating the upper bound
at the top of the call chain.

Suggested-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_ioctl.c

index ef8e378c42cb7eff7a0d3c73a39dba522d7ad5fd..5a1d2b9cb05a0caea21a204f1b1de2208b2bdb32 100644 (file)
@@ -481,10 +481,6 @@ xfs_attrmulti_attr_get(
        if (*len > XFS_XATTR_SIZE_MAX)
                return -EINVAL;
 
-       args.value = kmem_zalloc_large(*len, 0);
-       if (!args.value)
-               return -ENOMEM;
-
        error = xfs_attr_get(&args);
        if (error)
                goto out_kfree;