]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/arm_gic.c: Define .class_size in arm_gic_info TypeInfo
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 29 Aug 2012 07:52:37 +0000 (08:52 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 30 Aug 2012 19:54:16 +0000 (14:54 -0500)
Add the missing .class_size definition to the arm_gic_info TypeInfo.
This fixes the memory corruption and possible segfault that otherwise
results when the class struct is allocated at too small a size and
the class init function writes off the end of it.

Reported-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 998a74bcda7f3297813732ddc2f28ffe5a12e37a)

 - ARMGICClass isn't in 1.1, set class size to SysBusDeviceClass instead

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/arm_gic.c

index 72298b4b4164a54a97d5656af44da4fcea84f4c3..ab3b87b1410aadc6aa1594b437163595312e0233 100644 (file)
@@ -955,6 +955,7 @@ static TypeInfo arm_gic_info = {
     .parent = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(gic_state),
     .class_init = arm_gic_class_init,
+    .class_size = sizeof(SysBusDeviceClass),
 };
 
 static void arm_gic_register_types(void)