Reject NILFS2 superblocks with over 1GiB blocks.

* grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
	block size is <= 1GiB.
This commit is contained in:
Vladimir Serbinenko 2015-01-20 14:27:27 +01:00
parent f27ccb584c
commit 9201cd79a3
2 changed files with 11 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Reject NILFS2 superblocks with over 1GiB blocks.
* grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
block size is <= 1GiB.
2015-01-20 Vladimir Serbinenko <phcoder@gmail.com> 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry * grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry

View file

@ -724,6 +724,10 @@ grub_nilfs2_valid_sb (struct grub_nilfs2_super_block *sbp)
if (grub_le_to_cpu32 (sbp->s_rev_level) != NILFS_SUPORT_REV) if (grub_le_to_cpu32 (sbp->s_rev_level) != NILFS_SUPORT_REV)
return 0; return 0;
/* 20 already means 1GiB blocks. We don't want to deal with blocks overflowing int32. */
if (grub_le_to_cpu32 (sbp->s_log_block_size) > 20)
return 0;
return 1; return 1;
} }