mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-09-21 20:21:39 +00:00
[PATCH] Fix for minix crash
Mounting a (corrupt) minix filesystem with zero s_zmap_blocks gives a spectacular crash on my 2.6.17.8 system, no doubt because minix/inode.c does an unconditional minix_set_bit(0,sbi->s_zmap[0]->b_data); [akpm@osdl.org: make labels conistent while we're there] Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
fb8d81e477
commit
f5fb09fa33
1 changed files with 10 additions and 3 deletions
|
@ -204,6 +204,8 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
|
|||
/*
|
||||
* Allocate the buffer map to keep the superblock small.
|
||||
*/
|
||||
if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0)
|
||||
goto out_illegal_sb;
|
||||
i = (sbi->s_imap_blocks + sbi->s_zmap_blocks) * sizeof(bh);
|
||||
map = kmalloc(i, GFP_KERNEL);
|
||||
if (!map)
|
||||
|
@ -276,6 +278,11 @@ out_no_map:
|
|||
printk("MINIX-fs: can't allocate map\n");
|
||||
goto out_release;
|
||||
|
||||
out_illegal_sb:
|
||||
if (!silent)
|
||||
printk("MINIX-fs: bad superblock\n");
|
||||
goto out_release;
|
||||
|
||||
out_no_fs:
|
||||
if (!silent)
|
||||
printk("VFS: Can't find a Minix or Minix V2 filesystem "
|
||||
|
|
Loading…
Reference in a new issue