Re: Possible regression: ext4 lsetxattr returns ENOSPC on malformed image since v7.3-rc1
From: Theodore Tso
Date: Wed Sep 02 2026 - 21:49:25 EST
On Wed, Sep 02, 2026 at 12:03:52PM -0500, Hengyu Liang wrote:
>
> We found a stable ext4 behavior change: with the same malformed ext4 image,
> a large lsetxattr() succeeds through v7.2, but returns ENOSPC on v7.3-rc1.
What happens with a malformed ext4 image is quite frankly, not
interesting to me. How we handle a maliciously corrupted image is not
something which is defined. This is *especially* true given the use
of the mount option debug_want_extra_isize=104, which is not a
real-world use case, making this case doubly irrelevant.
(We've never actually used the code path which is designed to simulate
expanding the base inode in the two decades of ext4's existence. This
is because it's rare that we want to sacrifice bytes for all inodes,
especially if the field is for a feature which might not be useful for
most users. For most features that might only be used by a subset of
users, using an extended attribute, although it's less efficient, is
the preferred approach.)
Cheers,
- Ted