UBIFS: fix return code
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 7 Jun 2013 02:17:22 +0000 (10:17 +0800)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Sat, 26 Oct 2013 10:11:59 +0000 (11:11 +0100)
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 <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
fs/ubifs/super.c

index 879b9976c12bf9ab7cc841a1930e0c9b3df41446..01e1ad08d08ed5e6c2828ec429edd39fb120fac0 100644 (file)
@@ -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;