ext4: don't fail GETFSUUID when the caller provides a long buffer
authorDarrick J. Wong <djwong@kernel.org>
Thu, 10 Nov 2022 20:16:34 +0000 (12:16 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 9 Dec 2022 02:49:24 +0000 (21:49 -0500)
commita7e9d977e031fceefe1e7cd69ebd7202d5758b56
tree0bb1c6961ea66042b751bc4b4b765edf6779825e
parentb76abb5157468756163fe7e3431c9fe32cba57ca
ext4: don't fail GETFSUUID when the caller provides a long buffer

If userspace provides a longer UUID buffer than is required, we
shouldn't fail the call with EINVAL -- rather, we can fill the caller's
buffer with the bytes we /can/ fill, and update the length field to
reflect what we copied.  This doesn't break the UAPI since we're
enabling a case that currently fails, and so far Ted hasn't released a
version of e2fsprogs that uses the new ext4 ioctl.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Catherine Hoang <catherine.hoang@oracle.com>
Link: https://lore.kernel.org/r/166811139478.327006.13879198441587445544.stgit@magnolia
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
fs/ext4/ioctl.c