From: Vignesh Babu BM Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2 Signed-off-by: vignesh babu Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton --- fs/fat/inode.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff -puN fs/fat/inode.c~is_power_of_2-in-fat fs/fat/inode.c --- a/fs/fat/inode.c~is_power_of_2-in-fat +++ a/fs/fat/inode.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #ifndef CONFIG_FAT_DEFAULT_IOCHARSET @@ -1217,8 +1218,7 @@ int fat_fill_super(struct super_block *s } logical_sector_size = le16_to_cpu(get_unaligned((__le16 *)&b->sector_size)); - if (!logical_sector_size - || (logical_sector_size & (logical_sector_size - 1)) + if (!is_power_of_2(logical_sector_size) || (logical_sector_size < 512) || (PAGE_CACHE_SIZE < logical_sector_size)) { if (!silent) @@ -1228,8 +1228,7 @@ int fat_fill_super(struct super_block *s goto out_invalid; } sbi->sec_per_clus = b->sec_per_clus; - if (!sbi->sec_per_clus - || (sbi->sec_per_clus & (sbi->sec_per_clus - 1))) { + if (!is_power_of_2(sbi->sec_per_clus)) { if (!silent) printk(KERN_ERR "FAT: bogus sectors per cluster %u\n", sbi->sec_per_clus); _