* [S390] hypfs crashes with invalid mount option.
@ 2006-09-20 13:57 Martin Schwidefsky
0 siblings, 0 replies; only message in thread
From: Martin Schwidefsky @ 2006-09-20 13:57 UTC (permalink / raw)
To: linux-kernel, holzheu
From: Michael Holzheu <holzheu@de.ibm.com>
[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>
---
arch/s390/hypfs/inode.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff -urpN linux-2.6/arch/s390/hypfs/inode.c linux-2.6-patched/arch/s390/hypfs/inode.c
--- linux-2.6/arch/s390/hypfs/inode.c 2006-09-20 15:52:40.000000000 +0200
+++ linux-2.6-patched/arch/s390/hypfs/inode.c 2006-09-20 15:53:15.000000000 +0200
@@ -312,10 +312,12 @@ static void hypfs_kill_super(struct supe
{
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);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-09-20 13:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-20 13:57 [S390] hypfs crashes with invalid mount option Martin Schwidefsky
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.