summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/super.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-03 14:37:02 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-03 14:37:02 -0700
commitc939f9f9d225972a60181c95df8a9aa50f8b1701 (patch)
tree06f7621294bab5862ca15fa8c3749edcfc1ead3c /fs/ubifs/super.c
parentb8b3e9058f0f1d5c5a81c7d3d46f373d5f59a82c (diff)
parentc18de72fb3c72fdc5ca883910761af3f14d90d76 (diff)
downloadlinux-c939f9f9d225972a60181c95df8a9aa50f8b1701.tar.gz
linux-c939f9f9d225972a60181c95df8a9aa50f8b1701.tar.bz2
linux-c939f9f9d225972a60181c95df8a9aa50f8b1701.zip
Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6
* 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: fix a memory leak on error path. UBIFS: fix GC LEB recovery UBIFS: use ERR_CAST UBIFS: check return code
Diffstat (limited to 'fs/ubifs/super.c')
-rw-r--r--fs/ubifs/super.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 4d2f2157dd3f..5fc5a0988970 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -1307,6 +1307,8 @@ static int mount_ubifs(struct ubifs_info *c)
if (err)
goto out_orphans;
err = ubifs_rcvry_gc_commit(c);
+ if (err)
+ goto out_orphans;
} else {
err = take_gc_lnum(c);
if (err)
@@ -1318,7 +1320,7 @@ static int mount_ubifs(struct ubifs_info *c)
*/
err = ubifs_leb_unmap(c, c->gc_lnum);
if (err)
- return err;
+ goto out_orphans;
}
err = dbg_check_lprops(c);