On Wed, 19 Jun 2024 at 10:35, Jamin Lin <jamin_...@aspeedtech.com> wrote: > > Fix coverity defect: DIVIDE_BY_ZERO. > > Signed-off-by: Jamin Lin <jamin_...@aspeedtech.com> > --- > hw/arm/aspeed_ast27x0.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c > index b6876b4862..d14a46df6f 100644 > --- a/hw/arm/aspeed_ast27x0.c > +++ b/hw/arm/aspeed_ast27x0.c > @@ -211,6 +211,12 @@ static void aspeed_ram_capacity_write(void *opaque, > hwaddr addr, uint64_t data, > ram_size = object_property_get_uint(OBJECT(&s->sdmc), "ram-size", > &error_abort); > > + if (!ram_size) { > + qemu_log_mask(LOG_GUEST_ERROR, > + "%s: ram_size is zero", __func__); > + return; > + } > +
Isn't this a QEMU bug rather than a guest error? The RAM size presumably should never be zero unless the board set the ram-size property on the SDMC incorrectly. So the SDMC device should check (and return an error from its realize method) that the ram-size property is valid, and then here we can just assert(ram_size != 0). thanks -- PMM