[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 13/21] memory-device: Fix latent memory pre-plug error handli
From: |
David Hildenbrand |
Subject: |
Re: [PATCH 13/21] memory-device: Fix latent memory pre-plug error handling bugs |
Date: |
Sun, 1 Dec 2019 15:15:33 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
On 30.11.19 20:42, Markus Armbruster wrote:
> 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;
> }
I remember that some time ago, the best practice was to use "local_err",
what is the latest state of that?
I still disagree that these are BUGs or even latent BUGs. If somebody
things these are BUGs and not cleanups, then we should probably have
proper "Fixes: " tags instead.
Reviewed-by: David Hildenbrand <address@hidden>
--
Thanks,
David / dhildenb
- Re: [PATCH 13/21] memory-device: Fix latent memory pre-plug error handling bugs,
David Hildenbrand <=