diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2011-06-24 01:15:02 +0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2011-06-30 13:38:39 +0200 |
commit | 032016a56a1e9c83646435b32e4416d499e1f1ce (patch) | |
tree | 2918b2e31c5cf65b5ea1a8acd087bfe6dd7a94b7 /fs/hfsplus | |
parent | 50176ddefa4a942419cb693dd2d8345bfdcde67c (diff) | |
download | lwn-032016a56a1e9c83646435b32e4416d499e1f1ce.tar.gz lwn-032016a56a1e9c83646435b32e4416d499e1f1ce.zip |
hfsplus: Fix double iput of the same inode in hfsplus_fill_super()
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.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/hfsplus')
-rw-r--r-- | fs/hfsplus/super.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c index b49b55584c84..84a47b709f51 100644 --- 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: |