On Tue, 11 Jan 2022 at 10:19, Dr. David Alan Gilbert (git) <[email protected]> wrote: > > From: "Dr. David Alan Gilbert" <[email protected]> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > Signed-off-by: Dr. David Alan Gilbert <[email protected]> > --- > hw/core/clock-vmstate.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/core/clock-vmstate.c b/hw/core/clock-vmstate.c > index 9d9174ffbd..7eccb6d4ea 100644 > --- a/hw/core/clock-vmstate.c > +++ b/hw/core/clock-vmstate.c > @@ -44,6 +44,7 @@ const VMStateDescription vmstate_muldiv = { > .fields = (VMStateField[]) { > VMSTATE_UINT32(multiplier, Clock), > VMSTATE_UINT32(divider, Clock), > + VMSTATE_END_OF_LIST() > }, > };
Oops :-( Reviewed-by: Peter Maydell <[email protected]> We could maybe make this kind of bug more likely to be detected by instead of having the terminator be an "all zeros" VMStateField, having it check both for name == NULL and for a magic number in the VMStateFlags field. That way (assuming something in "make check" causes us to do a scan through every registered vmstate struct) forgetting the terminator will be likely to cause us to crash or hang rather than finding some 0 data and thinking that's the terminator. thanks -- PMM
