From 7203db97b7378c2571797c13aa89327a2c487ea1 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Fri, 7 Jun 2013 10:17:22 +0800 Subject: UBIFS: fix return code Fix to return -ENOMEM in the kmalloc() and d_make_root() error handling case instead of 0, as done elsewhere in those functions. Signed-off-by: Wei Yongjun Signed-off-by: Artem Bityutskiy --- fs/ubifs/super.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'fs/ubifs/super.c') diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index 879b9976c12b..01e1ad08d08e 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c @@ -1629,8 +1629,10 @@ static int ubifs_remount_rw(struct ubifs_info *c) } c->write_reserve_buf = kmalloc(COMPRESSED_DATA_NODE_BUF_SZ, GFP_KERNEL); - if (!c->write_reserve_buf) + if (!c->write_reserve_buf) { + err = -ENOMEM; goto out; + } err = ubifs_lpt_init(c, 0, 1); if (err) @@ -2063,8 +2065,10 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent) } sb->s_root = d_make_root(root); - if (!sb->s_root) + if (!sb->s_root) { + err = -ENOMEM; goto out_umount; + } mutex_unlock(&c->umount_mutex); return 0; -- cgit v1.2.3