All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-arm] [PATCH for-4.1? 0/2] Typecheck VMSTATE VARRAY macros and fix bug found
@ 2019-07-25 16:37 ` Peter Maydell
  0 siblings, 0 replies; 38+ messages in thread
From: Peter Maydell @ 2019-07-25 16:37 UTC (permalink / raw)
  To: qemu-arm, qemu-devel; +Cc: Damien Hedde, Dr. David Alan Gilbert, Juan Quintela

Damien's patch to fix a pl330 vmstate mixup between
VMSTATE_STRUCT_VARRAY_UINT32 and VMSTATE_STRUCT_VARRAY_POINTER_UINT32
led me to think about whether we could catch that particular
mixup. It turns out that we can, by adding a type check that the
field given to the macro is really an array of the correct type.

This only found one other instance of the same bug, in the
stellaris_input device; patch 1 fixes that and then patch 2
is the improved type checking.

We should probably also go through and look at the other
VMSTATE macros that use a raw 'offsetof' rather than one
of the vmstate_offset_foo type-checking macros, and see if
we can add type checks there. (Documentation of the macros
would be nice too...)

I've marked this as for-4.1? because the stellaris bugfix
definitely seems worth including in the release but I'm less
certain about whether to put in the typecheck -- David/Juan can
decide that.

thanks
-- PMM

Based-on: <20190724143553.21557-1-damien.hedde@greensocs.com>
("pl330: fix vmstate description" -- otherwise the new typecheck
will cause a compile failure due to presence of the bug that
patch fixes)

Peter Maydell (2):
  stellaris_input: Fix vmstate description of buttons field
  vmstate.h: Type check VMSTATE_STRUCT_VARRAY macros

 include/migration/vmstate.h | 27 +++++++++++++++++++++------
 hw/input/stellaris_input.c  | 10 ++++++----
 2 files changed, 27 insertions(+), 10 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2019-07-26 10:03 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-25 16:37 [Qemu-arm] [PATCH for-4.1? 0/2] Typecheck VMSTATE VARRAY macros and fix bug found Peter Maydell
2019-07-25 16:37 ` [Qemu-devel] " Peter Maydell
2019-07-25 16:37 ` [Qemu-devel] [PATCH for-4.1? 1/2] stellaris_input: Fix vmstate description of buttons field Peter Maydell
2019-07-25 17:02   ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-25 17:02     ` [Qemu-devel] " Dr. David Alan Gilbert
2019-07-25 17:40     ` [Qemu-arm] " Philippe Mathieu-Daudé
2019-07-25 17:40       ` Philippe Mathieu-Daudé
2019-07-26  9:52       ` [Qemu-arm] " Peter Maydell
2019-07-26  9:52         ` Peter Maydell
2019-07-26  9:59         ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-26  9:59           ` Dr. David Alan Gilbert
2019-07-26 10:03           ` [Qemu-arm] " Peter Maydell
2019-07-26 10:03             ` Peter Maydell
2019-07-25 17:59     ` [Qemu-arm] " Peter Maydell
2019-07-25 17:59       ` [Qemu-devel] " Peter Maydell
2019-07-25 18:32       ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-25 18:32         ` [Qemu-devel] " Dr. David Alan Gilbert
2019-07-26  8:25       ` [Qemu-arm] " Damien Hedde
2019-07-26  8:25         ` Damien Hedde
2019-07-26  8:47         ` [Qemu-arm] " Peter Maydell
2019-07-26  8:47           ` Peter Maydell
2019-07-25 16:37 ` [Qemu-devel] [PATCH for-4.1? 2/2] vmstate.h: Type check VMSTATE_STRUCT_VARRAY macros Peter Maydell
2019-07-25 17:27   ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-25 17:27     ` [Qemu-devel] " Dr. David Alan Gilbert
2019-07-25 17:57     ` [Qemu-arm] " Peter Maydell
2019-07-25 17:57       ` [Qemu-devel] " Peter Maydell
2019-07-25 18:00       ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-25 18:00         ` [Qemu-devel] " Dr. David Alan Gilbert
2019-07-26  9:24         ` [Qemu-arm] " Peter Maydell
2019-07-26  9:24           ` [Qemu-devel] " Peter Maydell
2019-07-26  9:32           ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-26  9:32             ` [Qemu-devel] " Dr. David Alan Gilbert
2019-07-26  9:33             ` [Qemu-arm] " Peter Maydell
2019-07-26  9:33               ` [Qemu-devel] " Peter Maydell
2019-07-26  9:34               ` [Qemu-arm] " Dr. David Alan Gilbert
2019-07-26  9:34                 ` [Qemu-devel] " Dr. David Alan Gilbert
2019-07-26  9:12     ` [Qemu-arm] " Damien Hedde
2019-07-26  9:12       ` Damien Hedde

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.