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