virtio_blk: set log2blksz correctly
'log2blksz' in blk_desc structure must always be initialized, otherwise it will cause a lot of weird failures in file operations. For example, fs_set_blk_dev[_with_part]() examines a block device against every file system with its probe function. In particular, ext4 file system's ext4_probe() will calls fs_devread() to fetch a super block. If log2blksz is 0, the actual 'read' size, i.e. block_len >> log2blksz, is much bigger than a buffer's size, and it can end up with memory corruption. Signed-off-by:AKASHI Takahiro <takahiro.akashi@linaro.org> Fixes: f4802209 ("virtio: Add block driver support") Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
Loading
Please register or sign in to comment