[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 13/21] memory-device: Fix latent memory pre-plug error handling b
From: |
Markus Armbruster |
Subject: |
[PATCH 13/21] memory-device: Fix latent memory pre-plug error handling bugs |
Date: |
Sat, 30 Nov 2019 20:42:32 +0100 |
memory_device_get_free_addr() crashes when
memory_device_check_addable() fails and its @errp argument is null.
Messed up in commit 1b6d6af21b "pc-dimm: factor out capacity and slot
checks into MemoryDevice".
The bug can't bite as no caller actually passes null. Fix it anyway.
Cc: David Hildenbrand <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/mem/memory-device.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c
index aef148c1d7..4bc9cf0917 100644
--- a/hw/mem/memory-device.c
+++ b/hw/mem/memory-device.c
@@ -99,6 +99,7 @@ static uint64_t memory_device_get_free_addr(MachineState *ms,
uint64_t align, uint64_t size,
Error **errp)
{
+ Error *err = NULL;
GSList *list = NULL, *item;
Range as, new = range_empty;
@@ -123,8 +124,9 @@ static uint64_t memory_device_get_free_addr(MachineState
*ms,
return 0;
}
- memory_device_check_addable(ms, size, errp);
- if (*errp) {
+ memory_device_check_addable(ms, size, &err);
+ if (err) {
+ error_propagate(errp, err);
return 0;
}
--
2.21.0
- [PATCH 01/21] net/virtio: Drop useless n->primary_dev not null checks, (continued)
- [PATCH 01/21] net/virtio: Drop useless n->primary_dev not null checks, Markus Armbruster, 2019/11/30
- [PATCH 19/21] error: Clean up unusual names of Error * variables, Markus Armbruster, 2019/11/30
- [PATCH 08/21] exec: Fix latent file_ram_alloc() error handling bug, Markus Armbruster, 2019/11/30
- [PATCH 06/21] io: Fix Error usage in a comment <example>, Markus Armbruster, 2019/11/30
- [PATCH 16/21] s390/cpu_modules: Fix latent realize() error handling bugs, Markus Armbruster, 2019/11/30
- [PATCH 14/21] s390x/event-facility: Fix latent realize() error handling bug, Markus Armbruster, 2019/11/30
- [PATCH 10/21] hw/core: Fix latent fit_load_fdt() error handling bug, Markus Armbruster, 2019/11/30
- [PATCH 07/21] tests: Clean up initialization of Error *err variables, Markus Armbruster, 2019/11/30
- [PATCH 15/21] s390x/cpu_models: Fix latent feature property error handling bugs, Markus Armbruster, 2019/11/30
- [PATCH 13/21] memory-device: Fix latent memory pre-plug error handling bugs,
Markus Armbruster <=
- [PATCH 12/21] qga: Fix latent guest-get-fsinfo error handling bug, Markus Armbruster, 2019/11/30
- [PATCH 18/21] s390x: Fix latent query-cpu-definitions error handling bug, Markus Armbruster, 2019/11/30
- [PATCH 11/21] hw/ipmi: Fix latent realize() error handling bugs, Markus Armbruster, 2019/11/30
- [PATCH 09/21] hw/acpi: Fix latent legacy CPU plug error handling bug, Markus Armbruster, 2019/11/30
- [PATCH 21/21] tests-blockjob: Use error_free_or_abort(), Markus Armbruster, 2019/11/30
- [PATCH 20/21] hw/intc/s390: Simplify error handling in kvm_s390_flic_realize(), Markus Armbruster, 2019/11/30
- [PATCH 17/21] s390x: Fix latent query-cpu-model-FOO error handling bugs, Markus Armbruster, 2019/11/30