hw/core/clock-vmstate.c | 1 + 1 file changed, 1 insertion(+)
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv
Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider")
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
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()
},
};
--
2.34.1
On Tue, 11 Jan 2022 at 10:19, Dr. David Alan Gilbert (git) <dgilbert@redhat.com> wrote: > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > 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 <peter.maydell@linaro.org> 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
* Peter Maydell (peter.maydell@linaro.org) wrote: > On Tue, 11 Jan 2022 at 10:19, Dr. David Alan Gilbert (git) > <dgilbert@redhat.com> wrote: > > > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > > --- > > 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 <peter.maydell@linaro.org> > > 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. Yeh, let me see what I can come up with for that. Dave > thanks > -- PMM > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On Tue, 11 Jan 2022 at 10:19, Dr. David Alan Gilbert (git) <dgilbert@redhat.com> wrote: > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > 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() > }, > }; Cc: qemu-stable@nongnu.org seems appropriate here ? thanks -- PMM
On 1/11/22 11:19, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") Doh I missed this too :( Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > 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() > }, > }; >
* Dr. David Alan Gilbert (git) (dgilbert@redhat.com) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv Queued > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > 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() > }, > }; > > -- > 2.34.1 > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 10:19 Tue 11 Jan , Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Luc Michel <luc@lmichel.fr> > --- > 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() > }, > }; > > -- > 2.34.1 > --
"Dr. David Alan Gilbert (git)" <dgilbert@redhat.com> writes: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Add the missing VMSTATE_END_OF_LIST to vmstate_muldiv > > Fixes: 99abcbc7600 ("clock: Provide builtin multiplier/divider") > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> -- Alex Bennée
© 2016 - 2024 Red Hat, Inc.