diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index f7128ae7b949cead57ee0b2a7f4450908587dfd2..bb2958ad8a6fa6a44b0b1e127a11f36bde0bff3a 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c @@ -118,6 +118,11 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc) msblk = sb->s_fs_info; msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE); + if (!msblk->devblksize) { + errorf(fc, "squashfs: unable to set blocksize\n"); + return -EINVAL; + } + msblk->devblksize_log2 = ffz(~msblk->devblksize); mutex_init(&msblk->meta_index_mutex);