]> git.itanic.dy.fi Git - linux-stable/commitdiff
ext4: bail out of ext4_xattr_ibody_get() fails for any reason
authorTheodore Ts'o <tytso@mit.edu>
Fri, 12 May 2023 19:16:27 +0000 (15:16 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:11:50 +0000 (11:11 +0200)
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 <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/inline.c

index 25f23840ddbd364a0018f6ed5789570b15b1a677..92d7778cd6c479ac99fac9187536fb833e0d1858 100644 (file)
@@ -364,7 +364,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");