[S390] hypfs crashes with invalid mount option.
When an invalid mount option is specified, no root inode is created for hypfs, hypfs_fill_super() returns with -EINVAL and then hypfs_kill_super() is called. hypfs_kill_super() does not check if the root inode has been initialized. This patch adds this check. Signed-off-by: Michael Holzheu <holzheu@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
564337f34c
commit
388c571cff
1 changed files with 6 additions and 4 deletions
|
@ -312,10 +312,12 @@ static void hypfs_kill_super(struct super_block *sb)
|
|||
{
|
||||
struct hypfs_sb_info *sb_info = sb->s_fs_info;
|
||||
|
||||
hypfs_delete_tree(sb->s_root);
|
||||
hypfs_remove(sb_info->update_file);
|
||||
kfree(sb->s_fs_info);
|
||||
sb->s_fs_info = NULL;
|
||||
if (sb->s_root) {
|
||||
hypfs_delete_tree(sb->s_root);
|
||||
hypfs_remove(sb_info->update_file);
|
||||
kfree(sb->s_fs_info);
|
||||
sb->s_fs_info = NULL;
|
||||
}
|
||||
kill_litter_super(sb);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue