Whamcloud - gitweb
LU-2926 ldiskfs: crash in is_bad_inode() on SLES11 SP2
authorJames Simmons <uja.ornl@gmail.com>
Wed, 20 Mar 2013 13:16:03 +0000 (09:16 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 28 Mar 2013 16:08:44 +0000 (12:08 -0400)
Fix error handling in ldiskfs_xattr_inode_iget
for SLES11 SP2 platform

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I05568cac5f4cc8a12cfd95034a99b06541289673
Reviewed-on: http://review.whamcloud.com/5709
Tested-by: Hudson
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
ldiskfs/kernel_patches/patches/sles11sp2/ext4-large-eas.patch

index ed3d231..3a7e7c3 100644 (file)
@@ -128,7 +128,7 @@ diff -ur linux-stage.orig/fs/ext4/xattr.c linux-stage/fs/ext4/xattr.c
 +      struct inode *ea_inode = NULL;
 +
 +      ea_inode = ext4_iget(parent->i_sb, ea_ino);
 +      struct inode *ea_inode = NULL;
 +
 +      ea_inode = ext4_iget(parent->i_sb, ea_ino);
-+      if (ea_inode == NULL || is_bad_inode(ea_inode)) {
++      if (IS_ERR(ea_inode) || is_bad_inode(ea_inode)) {
 +              ext4_error(parent->i_sb, "error while reading EA inode %d",
 +                         ea_ino);
 +              *err = -EIO;
 +              ext4_error(parent->i_sb, "error while reading EA inode %d",
 +                         ea_ino);
 +              *err = -EIO;