exportfs: check for error return value from exportfs_encode_*()
authorAmir Goldstein <amir73il@gmail.com>
Wed, 24 May 2023 15:48:25 +0000 (18:48 +0300)
committerJan Kara <jack@suse.cz>
Thu, 25 May 2023 11:17:04 +0000 (13:17 +0200)
commit7cdafe6cc4a6ee94c56a5c96d6edd80d066d5a3b
treef1e0b02718ede6480fc58517d9a8e38f8edc71a7
parenta95aef69a740f5a1c7d70f2b58552207edaef99a
exportfs: check for error return value from exportfs_encode_*()

The exportfs_encode_*() helpers call the filesystem ->encode_fh()
method which returns a signed int.

All the in-tree implementations of ->encode_fh() return a positive
integer and FILEID_INVALID (255) for error.

Fortify the callers for possible future ->encode_fh() implementation
that will return a negative error value.

name_to_handle_at() would propagate the returned error to the users
if filesystem ->encode_fh() method returns an error.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/linux-fsdevel/ca02955f-1877-4fde-b453-3c1d22794740@kili.mountain/
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <20230524154825.881414-1-amir73il@gmail.com>
fs/fhandle.c
fs/nfsd/nfsfh.c
fs/notify/fanotify/fanotify.c