Merge tag 'mmc-updates-for-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / fs / nilfs2 / the_nilfs.c
index 94c451ce6d247b5ca0e284a8667308d6509d0741..8ba8229ba076a0de225b1d95bd26d2c51ee656c3 100644 (file)
@@ -399,6 +399,16 @@ static int nilfs_store_disk_layout(struct the_nilfs *nilfs,
                return -EINVAL;
 
        nilfs->ns_inode_size = le16_to_cpu(sbp->s_inode_size);
+       if (nilfs->ns_inode_size > nilfs->ns_blocksize) {
+               printk(KERN_ERR "NILFS: too large inode size: %d bytes.\n",
+                      nilfs->ns_inode_size);
+               return -EINVAL;
+       } else if (nilfs->ns_inode_size < NILFS_MIN_INODE_SIZE) {
+               printk(KERN_ERR "NILFS: too small inode size: %d bytes.\n",
+                      nilfs->ns_inode_size);
+               return -EINVAL;
+       }
+
        nilfs->ns_first_ino = le32_to_cpu(sbp->s_first_ino);
 
        nilfs->ns_blocks_per_segment = le32_to_cpu(sbp->s_blocks_per_segment);