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@xxxxxxxxxx> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html