Details : don't add dentries with ".." to dcache and ignore such dentries in
iopen_lookup().
+Severity : critical
+Frequency : very rare, if additional xattrs are used on kernels >= 2.6.12
+Bugzilla : 15777
+Description: files may lose file attributes in some cases
+Details : If there are multiple extended attributes stored on the inode,
+ in particular ACLs, SELinux, or user attributes (if user_xattr
+ is specified for the client mount options) then there is a risk
+ of attribute loss. If an additional attribute is be stored
+ initially in the inode and then increase in size enough to be
+ moved to the external attribute block (e.g. ACL growing in size)
+ for the attribute to be lost.
+
--------------------------------------------------------------------------------
2008-01-11 Sun Microsystems, Inc.
--- /dev/null
+Date: Mon, 12 May 2008 11:24:40 +0800
+From: Tiger Yang <tiger.yang@oracle.com>
+Subject: [PATCH] ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle()
+To: linux-ext4@vger.kernel.org
+Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
+
+This fix the uninitialized bs when we try to replace a xattr entry in ibody
+with the new value which require more than free space.
+
+Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
+
+
+diff --git a/fs/ext3/xattr.c b/fs/ext3/xattr.c
+--- a/fs/ext3/xattr.c
++++ b/fs/ext3/xattr.c
+@@ -1000,6 +1000,11 @@ ext3_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index,
+ i.value = NULL;
+ error = ext3_xattr_block_set(handle, inode, &i, &bs);
+ } else if (error == -ENOSPC) {
++ if (EXT3_I(inode)->i_file_acl && !bs.s.base) {
++ error = ext3_xattr_block_find(inode, &i, &bs);
++ if (error)
++ goto cleanup;
++ }
+ error = ext3_xattr_block_set(handle, inode, &i, &bs);
+ if (error)
+ goto cleanup;
ext3-uninit-2.6.18.patch
ext3-nanosecond-2.6.18-vanilla.patch
ext3-inode-version-2.6.18-vanilla.patch
+ext3-ea-expand-lose-block.patch
ext3-mmp-2.6.18-vanilla.patch
ext3-unlink-race.patch
ext3-fiemap-2.6.18-vanilla.patch
ext3-uninit-2.6-sles10.patch
ext3-nanosecond-2.6-sles10.patch
ext3-inode-version-2.6-sles10.patch
+ext3-ea-expand-lose-block.patch
ext3-mmp-2.6-sles10.patch
ext3-fiemap-2.6-sles10.patch
ext3-statfs-2.6-sles10.patch
ext3-uninit-2.6.18.patch
ext3-nanosecond-2.6.18-vanilla.patch
ext3-inode-version-2.6.18-vanilla.patch
+ext3-ea-expand-lose-block.patch
ext3-mmp-2.6.18-vanilla.patch
ext3-handle-directory-corruption-better.patch
ext3-fiemap-2.6.18-vanilla.patch
ext3-uninit-2.6.22-vanilla.patch
ext3-nanosecond-2.6.22-vanilla.patch
ext3-inode-version-2.6.18-vanilla.patch
+ext3-ea-expand-lose-block.patch
ext3-mmp-2.6.22-vanilla.patch
ext3-fiemap-2.6.22-vanilla.patch
ext3-statfs-2.6.22.patch