Whamcloud - gitweb
LU-16480 lov: fiemap improperly handles fm_extent_count=0 45/49645/5
authorAndrew Perepechko <andrew.perepechko@hpe.com>
Mon, 16 Jan 2023 13:13:34 +0000 (08:13 -0500)
committerOleg Drokin <green@whamcloud.com>
Fri, 27 Jan 2023 00:31:54 +0000 (00:31 +0000)
commit829af7b029d8e4e391b93792bf5214611b0193bd
tree66be17ff4ee534297860bf4c3bc19d3124c2b94a
parentba0d5ffc1c0eaa0ac0b59cacc992928e80a15bf2
LU-16480 lov: fiemap improperly handles fm_extent_count=0

FIEMAP calls with fm_extent_count=0 are supposed only to
return the number of extents.

lov_object_fiemap() attempts to initialize stripe_last
based on fiemap->fm_extents[0] which is not initialized
in userspace and not even allocated in kernelspace.

Eventually, the call exits with -EINVAL and "FIEMAP does
not init start entry" kernel log message.

Fixes: 409719608c ("LU-11848 lov: FIEMAP support for PFL and FLR file")
Signed-off-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Change-Id: I65e706b5dd5c8a6db90a539c2602af839b4da823
HPE-bug-id: LUS-11443
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49645
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/lov/lov_object.c