From: Bin Meng Date: Tue, 26 Sep 2023 08:43:35 +0000 (+0800) Subject: blk: host_dev: Sanity check on the size of host backing file X-Git-Url: http://git.dujemihanovic.xyz/img/static/%7B%7B%20%28.OutputFormats.Get?a=commitdiff_plain;h=e261fbf347854c75de50dd410904b436d49a7636;p=u-boot.git blk: host_dev: Sanity check on the size of host backing file Since we are emulating a block device, its size should be multiple of the configured block size. Signed-off-by: Bin Meng Reviewed-by: Simon Glass --- diff --git a/drivers/block/host_dev.c b/drivers/block/host_dev.c index 0b43f80a86..30c7415793 100644 --- a/drivers/block/host_dev.c +++ b/drivers/block/host_dev.c @@ -58,6 +58,11 @@ static int host_sb_attach_file(struct udevice *dev, const char *filename) size = os_filesize(fd); desc = dev_get_uclass_plat(blk); + if (size % desc->blksz) { + printf("The size of host backing file '%s' is not multiple of " + "the device block size\n", filename); + goto err_fname; + } desc->lba = size / desc->blksz; /* write this in last, when nothing can go wrong */