summaryrefslogtreecommitdiffstats
path: root/fs/squashfs/super.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-04-27 08:59:38 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-27 08:59:38 -0700
commitbc113f151a73cb2195c2fb40d7d70acf8e2f9208 (patch)
tree026c1fe1d01a16724c8fff538b1fe29bbf1ef06b /fs/squashfs/super.c
parent93a9248af27aa83c08910d3e38b584678b1dc534 (diff)
parente0d1f70010dce062ccce1bbd940a661e60b82631 (diff)
downloadop-kernel-dev-bc113f151a73cb2195c2fb40d7d70acf8e2f9208.zip
op-kernel-dev-bc113f151a73cb2195c2fb40d7d70acf8e2f9208.tar.gz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus: squashfs: fix potential buffer over-run on 4K block file systems squashfs: add missing buffer free squashfs: fix warn_on when root inode is corrupted squashfs: fix locking bug in zlib wrapper
Diffstat (limited to 'fs/squashfs/super.c')
-rw-r--r--fs/squashfs/super.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
index 3550aec..48b6f4a 100644
--- a/fs/squashfs/super.c
+++ b/fs/squashfs/super.c
@@ -275,7 +275,8 @@ allocate_root:
err = squashfs_read_inode(root, root_inode);
if (err) {
- iget_failed(root);
+ make_bad_inode(root);
+ iput(root);
goto failed_mount;
}
insert_inode_hash(root);
@@ -353,6 +354,7 @@ static void squashfs_put_super(struct super_block *sb)
kfree(sbi->id_table);
kfree(sbi->fragment_index);
kfree(sbi->meta_index);
+ kfree(sbi->inode_lookup_table);
kfree(sb->s_fs_info);
sb->s_fs_info = NULL;
}
OpenPOWER on IntegriCloud