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 - 2026 Red Hat, Inc.