summaryrefslogtreecommitdiff
path: root/fs/jffs2
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2018-04-02 23:56:44 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-24 09:36:38 +0200
commitc780ac96e120081a1d2e892f47ce34245ef1cfb2 (patch)
tree8a4dd893a9c2b0c0795b5d9b38b86760bb5ccbbb /fs/jffs2
parent22ec5ee71086284911b21339eaf4d2c2ec1df351 (diff)
downloadlinux-exynos-c780ac96e120081a1d2e892f47ce34245ef1cfb2.tar.gz
linux-exynos-c780ac96e120081a1d2e892f47ce34245ef1cfb2.tar.bz2
linux-exynos-c780ac96e120081a1d2e892f47ce34245ef1cfb2.zip
jffs2_kill_sb(): deal with failed allocations
commit c66b23c2840446a82c389e4cb1a12eb2a71fa2e4 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/jffs2')
-rw-r--r--fs/jffs2/super.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/jffs2/super.c b/fs/jffs2/super.c
index 153f1c6eb169..33e01de576d2 100644
--- a/fs/jffs2/super.c
+++ b/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)
{
struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
- if (!sb_rdonly(sb))
+ if (c && !sb_rdonly(sb))
jffs2_stop_garbage_collect_thread(c);
kill_mtd_super(sb);
kfree(c);