| From: Al Viro <viro@zeniv.linux.org.uk> |
| Date: Mon, 2 Apr 2018 23:56:44 -0400 |
| Subject: 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. |
| |
| Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
| [bwh: Backported to 3.16: adjust context] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| fs/jffs2/super.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/jffs2/super.c |
| +++ b/fs/jffs2/super.c |
| @@ -345,7 +345,7 @@ static void jffs2_put_super (struct supe |
| static void jffs2_kill_sb(struct super_block *sb) |
| { |
| struct jffs2_sb_info *c = JFFS2_SB_INFO(sb); |
| - if (!(sb->s_flags & MS_RDONLY)) |
| + if (c && !(sb->s_flags & MS_RDONLY)) |
| jffs2_stop_garbage_collect_thread(c); |
| kill_mtd_super(sb); |
| kfree(c); |