All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] s390x: initialize virtio dev region
@ 2011-11-10  1:19 Alexander Graf
  2011-11-10  1:36 ` Peter Maydell
  0 siblings, 1 reply; 13+ messages in thread
From: Alexander Graf @ 2011-11-10  1:19 UTC (permalink / raw)
  To: qemu-devel

When running the s390x virtio machine we can potentially use uninitialized
memory for the virtio device backing ram. That can lead to weird breakge.

So let's better initialize it to 0 properly.

Reported-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 hw/s390-virtio.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 37945d5..d936809 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -165,6 +165,8 @@ static void s390_init(ram_addr_t my_ram_size,
     ram_addr_t initrd_size = 0;
     int shift = 0;
     uint8_t *storage_keys;
+    void *virtio_region;
+    target_phys_addr_t virtio_region_len;
     int i;
 
     /* s390x ram size detection needs a 16bit multiplier + an increment. So
@@ -184,6 +186,13 @@ static void s390_init(ram_addr_t my_ram_size,
     memory_region_init_ram(ram, NULL, "s390.ram", my_ram_size);
     memory_region_add_subregion(sysmem, 0, ram);
 
+    /* clear virtio region */
+    virtio_region_len = my_ram_size - ram_size;
+    virtio_region = cpu_physical_memory_map(ram_size, &virtio_region_len, true);
+    memset(virtio_region, 0, virtio_region_len);
+    cpu_physical_memory_unmap(virtio_region, virtio_region_len, 1,
+                              virtio_region_len);
+
     /* allocate storage keys */
     storage_keys = g_malloc0(my_ram_size / TARGET_PAGE_SIZE);
 
-- 
1.6.0.2

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

end of thread, other threads:[~2011-11-11 22:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-10  1:19 [Qemu-devel] [PATCH] s390x: initialize virtio dev region Alexander Graf
2011-11-10  1:36 ` Peter Maydell
2011-11-10  1:45   ` Alexander Graf
2011-11-10  2:19     ` Peter Maydell
2011-11-11 15:59       ` Alexander Graf
2011-11-11 16:11         ` Peter Maydell
2011-11-11 16:24           ` Alexander Graf
2011-11-11 16:44             ` Peter Maydell
2011-11-11 16:46               ` Alexander Graf
2011-11-11 17:38               ` Alexander Graf
2011-11-11 17:40               ` Alexander Graf
2011-11-11 18:01                 ` Peter Maydell
2011-11-11 22:43                 ` Andreas Färber

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.