[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161201194907.wnu33j5at6l4m6vc@thunk.org>
Date: Thu, 1 Dec 2016 14:49:07 -0500
From: Theodore Ts'o <tytso@....edu>
To: Eric Biggers <ebiggers@...gle.com>
Cc: linux-ext4@...r.kernel.org,
Andreas Dilger <adilger.kernel@...ger.ca>
Subject: Re: [PATCH 1/3] ext4: forbid i_extra_isize not divisible by 4
On Sat, Nov 26, 2016 at 10:39:44PM -0800, Eric Biggers wrote:
> i_extra_isize not divisible by 4 is problematic for several reasons:
>
> - It causes the in-inode xattr space to be misaligned, but the xattr
> header and entries are not declared __packed to express this
> possibility. This may cause poor performance or incorrect code
> generation on some platforms.
> - When validating the xattr entries we can read past the end of the
> inode if the size available for xattrs is not a multiple of 4.
> - It allows the nonsensical i_extra_isize=1, which doesn't even leave
> enough room for i_extra_isize itself.
>
> Therefore, update ext4_iget() to consider i_extra_isize not divisible by
> 4 to be an error, like the case where i_extra_isize is too large.
>
> This also matches the rule recently added to e2fsck for determining
> whether an inode has valid i_extra_isize.
>
> This patch shouldn't have any noticeable effect on
> non-corrupted/non-malicious filesystems, since the size of ext4_inode
> has always been a multiple of 4.
>
> Signed-off-by: Eric Biggers <ebiggers@...gle.com>
Thanks, applied.
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists