]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: do not allow external inodes for inline data
authorTheodore Ts'o <tytso@mit.edu>
Tue, 22 May 2018 20:15:24 +0000 (16:15 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 22 May 2018 20:15:24 +0000 (16:15 -0400)
commit057582c9b15de75d7593bead7e397611fa822d4d
treea0b934b5cbeb7d1b42982796a19cf93e28f05fa5
parent6c77c0b008ec27e613da51115e259ccf53225ad3
ext4: do not allow external inodes for inline data

The inline data feature was implemented before we added support for
external inodes for xattrs.  It makes no sense to support that
combination, but the problem is that there are a number of extended
attribute checks that are skipped if e_value_inum is non-zero.

Unfortunately, the inline data code is completely e_value_inum
unaware, and attempts to interpret the xattr fields as if it were an
inline xattr --- at which point, Hilarty Ensues.

This addresses CVE-2018-11412.

https://bugzilla.kernel.org/show_bug.cgi?id=199803

Reported-by: Jann Horn <jannh@google.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Fixes: 8cfb446627a2 ("ext4: xattr-in-inode support")
Cc: stable@kernel.org
fs/ext4/inline.c