From: Dmitry Pimenov Date: Fri, 10 Jul 2026 22:23:50 +0000 (+0200) Subject: hw/sparc64/niagara: use int64_t for vdisk size to avoid truncation X-Git-Tag: v11.1.0-rc1~14^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76dbe26fd6500a94b85bf0f3a39d73b72f5fab7b;p=thirdparty%2Fqemu.git hw/sparc64/niagara: use int64_t for vdisk size to avoid truncation blk_getlength() returns int64_t, but niagara_init() stored it in an int, truncating the if=pflash virtual-ramdisk size for images >= 2 GiB. A ~4 GiB image truncated to 0/negative, failed the `size > 0` check, and exit(1)'d before the CPU ran, ending with: qemu-system-sparc64: could not load ram disk Signed-off-by: Dmitry Pimenov Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20260710222350.9185-1-sun4qemu@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c index 1211ecb82d..ad5e5945a8 100644 --- a/hw/sparc64/niagara.c +++ b/hw/sparc64/niagara.c @@ -137,7 +137,7 @@ static void niagara_init(MachineState *machine) outside of the partition RAM */ if (dinfo) { BlockBackend *blk = blk_by_legacy_dinfo(dinfo); - int size = blk_getlength(blk); + int64_t size = blk_getlength(blk); if (size > 0) { memory_region_init_ram(&s->vdisk_ram, NULL, "sun4v_vdisk.ram", size, &error_fatal);