Details

[Home]

Issue of the Implementation # L0039

Brief

hfsplus: Fix double iput of the same inode in hfsplus_fill_super()

Detailed Description

There is a misprint in resource deallocation code on error path in hfsplus_fill_super(): the sbi->alloc_file inode is iput twice, while the root inode in not iput at all.

Possible solutions

--- a/fs/hfsplus/super.c
+++ b/fs/hfsplus/super.c
@@ -500,7 +500,7 @@ static int hfsplus_fill_super(struct super_block *sb, void *data, int silent)
 out_put_hidden_dir:
        iput(sbi->hidden_dir);
 out_put_root:
-       iput(sbi->alloc_file);
+       iput(root);
 out_put_alloc_file:
        iput(sbi->alloc_file);
 out_close_cat_tree:

Component

linux-kernel 2.6.39

Accepted

https://lkml.org/lkml/2011/6/23/675
commit

Status

Fixed in kernel 3.0

[Home]