Thread (35 messages) 35 messages, 5 authors, 2021-10-13

Re: [PATCH v5] virtio-blk: Add validation for block size in config space

From: Yongji Xie <hidden>
Date: 2021-10-13 12:59:28
Also in: lkml

On Wed, Oct 13, 2021 at 8:51 PM Michael S. Tsirkin [off-list ref] wrote:
On Wed, Oct 13, 2021 at 08:34:22PM +0800, Yongji Xie wrote:
quoted
On Wed, Oct 13, 2021 at 8:21 PM Michael S. Tsirkin [off-list ref] wrote:
quoted
On Mon, Oct 11, 2021 at 01:40:41PM +0200, Christoph Hellwig wrote:
quoted
On Tue, Oct 05, 2021 at 06:42:43AM -0400, Michael S. Tsirkin wrote:
quoted
Stefan also pointed out this duplicates the logic from

        if (blksize < 512 || blksize > PAGE_SIZE || !is_power_of_2(blksize))
                return -EINVAL;


and a bunch of other places.


Would it be acceptable for blk layer to validate the input
instead of having each driver do it's own thing?
Maybe inside blk_queue_logical_block_size?
I'm pretty sure we want down that before.  Let's just add a helper
just for that check for now as part of this series.  Actually validating
in in blk_queue_logical_block_size seems like a good idea, but returning
errors from that has a long tail.
Xie Yongji, I think I will revert this patch for now - can you
please work out adding that helper and using it in virtio?
Fine, I will do it.

Thanks,
Yongji
Great, thanks! And while at it, pls research a bit more and mention
in the commit log what is the result of an illegal blk size?
Is it memory corruption? A catastrophic failure?
If it's one of these cases, then it's ok to just fail probe.
Sure, and I think it will be one of these cases. Will add some stack
dump in the commit log.

Thanks,
Yongji
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help