linux-hardened/fs/ext3
Jan Kara beb37b85b0 ext3: Fix lost extented attributes for inode with ino == 11
If a filesystem has inode size > 128 and someone deletes lost+found and
reuses inode 11 for some other file, extented attributes set for this
inode before umount will get lost after remounting the filesystem. This
is because extended attributes will get stored in an inode but ext3_iget
will ignore them due to workaround of a bug in an old mkfs.

Fix the problem by initializing i_extra_isize to 0 for freshly allocated
inodes where mkfs workaround in ext3_iget applies. This way these inodes
will always store extended attributes in a special block and no problems
occur.

The bug was spotted and a reproduction test provided by:
  Masayoshi MIZUMA <m.mizuma@jp.fujitsu.com>

Reviewed-by: Andreas Dilger <adilger.kernel@dilger.ca>
Signed-off-by: Jan Kara <jack@suse.cz>
2010-10-05 12:20:23 +02:00
..
acl.c ext3: update ctime when changing the file's permission by setfacl 2010-06-25 01:20:37 +02:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext3: Avoid loading bitmaps for full groups during block allocation 2010-05-21 19:30:36 +02:00
bitmap.c fs: mark nibblemap const 2007-10-17 08:42:47 -07:00
dir.c ext3 uses rb_node = NULL; to zero rb_root. 2010-05-27 17:39:36 +02:00
ext3_jbd.c ext3: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:45 -07:00
file.c dquot: cleanup dquot initialize routine 2010-03-05 00:20:30 +01:00
fsync.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
hash.c ext3: Add support for non-native signed/unsigned htree hash algorithms 2008-10-28 13:21:55 -04:00
ialloc.c ext3: Fix lost extented attributes for inode with ino == 11 2010-10-05 12:20:23 +02:00
inode.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
ioctl.c ext3: remove the BKL in ext3/ioctl.c 2009-04-02 19:04:52 -07:00
Kconfig ext3: default to ordered mode 2010-07-23 12:50:55 +02:00
Makefile [PATCH] ext3: uninline large functions 2006-12-07 08:39:35 -08:00
namei.c ext3: Fix set but unused variables 2010-07-21 16:01:47 +02:00
namei.h
resize.c ext3: Fix set but unused variables 2010-07-21 16:01:47 +02:00
super.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
symlink.c ext3: symlink must be handled via filesystem specific operation 2010-04-12 21:11:39 +02:00
xattr.c mbcache: Remove unused features 2010-08-09 16:48:45 -04:00
xattr.h ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_security.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_trusted.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_user.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00