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 <bmeng@tinylab.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Bin Meng 2023-09-26 16:43:35 +08:00 committed by Tom Rini
parent 0491cb8f9b
commit e261fbf347

View file

@ -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 */