Подробности

[В начало]

Проблема в реализации № L0039

Краткое описание

hfsplus: Двойной iput одного inode в hfsplus_fill_super()

Подробное описание

В коде освобождающем ресурсы в функции hfsplus_fill_super() присутствует опечатка: sbi->alloc_file inode освобождается дважды, в то время как inode 'root' не освобождается вовсе.

Способы устранения

--- 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:

Компонент

linux-kernel 2.6.39

Принято

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

Статус

Исправлено в kernel 3.0

[В начало]