[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 11/35] memory-device: Fix memory pre-plug error API violations
From: |
Markus Armbruster |
Subject: |
[PULL v2 11/35] memory-device: Fix memory pre-plug error API violations |
Date: |
Wed, 18 Dec 2019 09:16:57 +0100 |
memory_device_get_free_addr() dereferences @errp when
memory_device_check_addable() fails. That's wrong; see the big
comment in error.h. Introduced in commit 1b6d6af21b "pc-dimm: factor
out capacity and slot checks into MemoryDevice".
No caller actually passes null.
Fix anyway: splice in a local Error *err, and error_propagate().
Cc: David Hildenbrand <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <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
- [PULL v2 01/35] error: Fix -msg timestamp default, (continued)
- [PULL v2 01/35] error: Fix -msg timestamp default, Markus Armbruster, 2019/12/18
- [PULL v2 02/35] crypto: Fix certificate file error handling crash bug, Markus Armbruster, 2019/12/18
- [PULL v2 18/35] vnc: drop Error pointer indirection in vnc_client_io_error, Markus Armbruster, 2019/12/18
- [PULL v2 20/35] Revert "ppc: well form kvmppc_hint_smt_possible error hint helper", Markus Armbruster, 2019/12/18
- [PULL v2 14/35] tests-blockjob: Use error_free_or_abort(), Markus Armbruster, 2019/12/18
- [PULL v2 07/35] hw/acpi: Fix legacy CPU plug error API violations, Markus Armbruster, 2019/12/18
- [PULL v2 06/35] exec: Fix file_ram_alloc() error API violations, Markus Armbruster, 2019/12/18
- [PULL v2 05/35] tests: Clean up initialization of Error *err variables, Markus Armbruster, 2019/12/18
- [PULL v2 10/35] qga: Fix guest-get-fsinfo error API violations, Markus Armbruster, 2019/12/18
- [PULL v2 21/35] ppc: make Error **errp const where it is appropriate, Markus Armbruster, 2019/12/18
- [PULL v2 11/35] memory-device: Fix memory pre-plug error API violations,
Markus Armbruster <=
- [PULL v2 25/35] hw/i386/amd_iommu: rename Error ** parameter to more common errp, Markus Armbruster, 2019/12/18
- [PULL v2 19/35] qdev-monitor: make Error **errp const where it is appropriate, Markus Armbruster, 2019/12/18
- [PULL v2 22/35] 9pfs: make Error **errp const where it is appropriate, Markus Armbruster, 2019/12/18
- [PULL v2 13/35] hw/intc/s390: Simplify error handling in kvm_s390_flic_realize(), Markus Armbruster, 2019/12/18
- [PULL v2 30/35] hw/tpm: rename Error ** parameter to more common errp, Markus Armbruster, 2019/12/18
- [PULL v2 27/35] monitor/qmp-cmds: rename Error ** parameter to more common errp, Markus Armbruster, 2019/12/18
- [PULL v2 26/35] qga: rename Error ** parameter to more common errp, Markus Armbruster, 2019/12/18
- [PULL v2 16/35] error: make Error **errp const where it is appropriate, Markus Armbruster, 2019/12/18
- [PULL v2 23/35] hw/core/qdev: cleanup Error ** variables, Markus Armbruster, 2019/12/18
- [PULL v2 15/35] net/net: Clean up variable shadowing in net_client_init(), Markus Armbruster, 2019/12/18