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: v6.1.29~12 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6e7a97628f2766bbbe099426b63044c8c57ea502;p=users%2Fdwmw2%2Flinux.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 afab721786e14..3a91be1d9bbe7 100644 --- a/fs/ext4/inline.c +++ b/fs/ext4/inline.c @@ -361,7 +361,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");