[PATCH 00/10] RFC: move logical block size checking to the block core

Maxim Levitsky
2020-07-21T10:53:21Z

This patch series aims to move the logical block size checking to the
block code.

This was inspired by missing check for valid logical block size in
virtio-blk which causes the kernel to crash in a weird way later on
when it is invalid.

I added blk_is_valid_logical_block_size which returns true iff the
block size is one of supported sizes.

I added this check to virtio-blk, and also converted few block drivers
that I am familiar with to use this interface instead of their
own implementation.

Best regards,
Maxim Levitsky

Maxim Levitsky (10):
block: introduce blk_is_valid_logical_block_size
block: virtio-blk: check logical block size
block: loop: use blk_is_valid_logical_block_size
block: nbd: use blk_is_valid_logical_block_size
block: null: use blk_is_valid_logical_block_size
block: ms_block: use blk_is_valid_logical_block_size
block: mspro_blk: use blk_is_valid_logical_block_size
block: nvme: use blk_is_valid_logical_block_size
block: scsi: sd: use blk_is_valid_logical_block_size
block: scsi: sr: use blk_is_valid_logical_block_size

block/blk-settings.c | 18 +++++++++++++++++
drivers/block/loop.c | 23 +++++----------------
drivers/block/nbd.c | 12 ++---------
drivers/block/null_blk_main.c | 6 +++---
drivers/block/virtio_blk.c | 15 ++++++++++++--
drivers/memstick/core/ms_block.c | 2 +-
drivers/memstick/core/mspro_block.c | 6 ++++++
drivers/nvme/host/core.c | 17 ++++++++--------
drivers/scsi/sd.c | 5 +----
drivers/scsi/sr.c | 31 ++++++++++++-----------------
include/linux/blkdev.h | 1 +
11 files changed, 71 insertions(+), 65 deletions(-)

--
2.26.2