From: Theodore Ts'o Date: Fri, 12 May 2023 19:16:27 +0000 (-0400) Subject: ext4: bail out of ext4_xattr_ibody_get() fails for any reason X-Git-Tag: baikal/aarch64/sdk5.10~179 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=a62d6186a1a7d79181bc187450702970e88946ae;p=kernel.git ext4: bail out of ext4_xattr_ibody_get() fails for any reason commit 2a534e1d0d1591e951f9ece2fb460b2ff92edabd upstream. In ext4_update_inline_data(), if ext4_xattr_ibody_get() fails for any reason, it's best if we just fail as opposed to stumbling on, especially if the failure is EFSCORRUPTED. Cc: stable@kernel.org Signed-off-by: Theodore Ts'o Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c index 9ad21c4dcb500..549ceac9099ca 100644 --- a/fs/ext4/inline.c +++ b/fs/ext4/inline.c @@ -358,7 +358,7 @@ static int ext4_update_inline_data(handle_t *handle, struct inode *inode, error = ext4_xattr_ibody_get(inode, i.name_index, i.name, value, len); - if (error == -ENODATA) + if (error < 0) goto out; BUFFER_TRACE(is.iloc.bh, "get_write_access");