[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v5 15/43] pc: fix possible NULL pointer dereference i
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PULL v5 15/43] pc: fix possible NULL pointer dereference in pc_machine_get_device_memory_region_size() |
Date: |
Wed, 3 Jul 2019 18:07:53 -0300 |
From: Igor Mammedov <address@hidden>
QEMU will crash when device-memory-region-size property is read if
ms->device_memory
wasn't initialized yet.
Crash can be reproduced with:
$QEMU -preconfig -qmp unix:qmp_socket,server,nowait &
./scripts/qmp/qom-get -s qmp_socket /machine.device-memory-region-size
Instead of crashing return 0 if ms->device_memory hasn't been initialized.
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/i386/pc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 9921ce4f5e..9b953eeeea 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -2489,7 +2489,11 @@ pc_machine_get_device_memory_region_size(Object *obj,
Visitor *v,
Error **errp)
{
MachineState *ms = MACHINE(obj);
- int64_t value = memory_region_size(&ms->device_memory->mr);
+ int64_t value = 0;
+
+ if (ms->device_memory) {
+ value = memory_region_size(&ms->device_memory->mr);
+ }
visit_type_int(v, name, &value, errp);
}
--
2.18.0.rc1.1.g3f1ff2140
- [Qemu-devel] [PULL v5 07/43] hw/i386: Replace global smp variables with machine smp properties, (continued)
- [Qemu-devel] [PULL v5 07/43] hw/i386: Replace global smp variables with machine smp properties, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 13/43] i386/cpu: Consolidate die-id validity in smp context, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 09/43] hw: Replace global smp variables with MachineState for all remaining archs, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 11/43] i386: Add die-level cpu topology to x86CPU on PCMachine, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 18/43] numa: deprecate implict memory distribution between nodes, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 16/43] machine: show if CLI option '-numa node, mem' is supported in QAPI schema, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 25/43] x86/cpu: use FeatureWordArray to define filtered_features, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 22/43] i386: Don't print warning if phys-bits was set automatically, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 21/43] deprecate -mem-path fallback to anonymous RAM, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 10/43] vl.c: Replace smp global variables with smp machine properties, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 15/43] pc: fix possible NULL pointer dereference in pc_machine_get_device_memory_region_size(),
Eduardo Habkost <=
- [Qemu-devel] [PULL v5 19/43] hppa: Delete unused hppa_cpu_list() function, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 14/43] i386: Update new x86_apicid parsing rules with die_offset support, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 20/43] target/i386: fix feature check in hyperv-stub.c, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 24/43] i386: make 'hv-spinlocks' a regular uint32 property, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 23/43] i386: Fix signedness of hyperv_spinlock_attempts, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 26/43] i386: Remove unused host_cpudef variable, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 27/43] target/i386: Add CPUID.1F generation support for multi-dies PCMachine, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 12/43] hw/i386: Adjust nr_dies with configured smp_dies for PCMachine, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 29/43] vl.c: Add -smp, dies=* command line support and update doc, Eduardo Habkost, 2019/07/03
- [Qemu-devel] [PULL v5 28/43] machine: Refactor smp_parse() in vl.c as MachineClass::smp_parse(), Eduardo Habkost, 2019/07/03