qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).