Explorar o código

jffs2_kill_sb(): deal with failed allocations

jffs2_fill_super() might fail to allocate jffs2_sb_info;
jffs2_kill_sb() must survive that.

Cc: stable@kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro %!s(int64=7) %!d(string=hai) anos
pai
achega
c66b23c284
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      fs/jffs2/super.c

+ 1 - 1
fs/jffs2/super.c

@@ -342,7 +342,7 @@ static void jffs2_put_super (struct super_block *sb)
 static void jffs2_kill_sb(struct super_block *sb)
 static void jffs2_kill_sb(struct super_block *sb)
 {
 {
 	struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
 	struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
-	if (!sb_rdonly(sb))
+	if (c && !sb_rdonly(sb))
 		jffs2_stop_garbage_collect_thread(c);
 		jffs2_stop_garbage_collect_thread(c);
 	kill_mtd_super(sb);
 	kill_mtd_super(sb);
 	kfree(c);
 	kfree(c);