ocfs2: fix panic on kfree(xattr->name)
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Thu, 3 Apr 2014 21:47:07 +0000 (14:47 -0700)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:55:40 +0000 (09:55 +0200)
commit f81c20158f8d5f7938d5eb86ecc42ecc09273ce6 upstream.

Commit 9548906b2bb7 ('xattr: Constify ->name member of "struct xattr"')
missed that ocfs2 is calling kfree(xattr->name).  As a result, kernel
panic occurs upon calling kfree(xattr->name) because xattr->name refers
static constant names.  This patch removes kfree(xattr->name) from
ocfs2_mknod() and ocfs2_symlink().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: Tariq Saeed <tariq.x.saeed@oracle.com>
Tested-by: Tariq Saeed <tariq.x.saeed@oracle.com>
Reviewed-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
fs/ocfs2/namei.c

index be3f8676a4385970f0edc92fff291c997c3d2823..c19c2c57650b9289106a2e5128ed8e747039a489 100644 (file)
@@ -430,7 +430,6 @@ leave:
 
        brelse(new_fe_bh);
        brelse(parent_fe_bh);
-       kfree(si.name);
        kfree(si.value);
 
        ocfs2_free_dir_lookup_result(&lookup);
@@ -1818,7 +1817,6 @@ bail:
 
        brelse(new_fe_bh);
        brelse(parent_fe_bh);
-       kfree(si.name);
        kfree(si.value);
        ocfs2_free_dir_lookup_result(&lookup);
        if (inode_ac)