diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext2/super.c | 3 | ||||
-rw-r--r-- | fs/ext4/super.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 3e78af2ae7d..51b4c43b97e 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -30,6 +30,7 @@ #include <linux/vfs.h> #include <linux/seq_file.h> #include <linux/mount.h> +#include <linux/log2.h> #include <asm/uaccess.h> #include "ext2.h" #include "xattr.h" @@ -862,7 +863,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) sbi->s_inode_size = le16_to_cpu(es->s_inode_size); sbi->s_first_ino = le32_to_cpu(es->s_first_ino); if ((sbi->s_inode_size < EXT2_GOOD_OLD_INODE_SIZE) || - (sbi->s_inode_size & (sbi->s_inode_size - 1)) || + !is_power_of_2(sbi->s_inode_size) || (sbi->s_inode_size > blocksize)) { printk ("EXT2-fs: unsupported inode size: %d\n", sbi->s_inode_size); diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 0e829cc8a18..4c8d31c6145 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1738,7 +1738,7 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent) if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_64BIT)) { if (sbi->s_desc_size < EXT4_MIN_DESC_SIZE_64BIT || sbi->s_desc_size > EXT4_MAX_DESC_SIZE || - sbi->s_desc_size & (sbi->s_desc_size - 1)) { + !is_power_of_2(sbi->s_desc_size)) { printk(KERN_ERR "EXT4-fs: unsupported descriptor size %lu\n", sbi->s_desc_size); |