qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PULL 13/18] spapr: add pre_plug function for memory


From: Peter Maydell
Subject: Re: [Qemu-ppc] [PULL 13/18] spapr: add pre_plug function for memory
Date: Tue, 6 Jun 2017 16:00:32 +0100

On 25 May 2017 at 04:51, David Gibson <address@hidden> wrote:
> From: Laurent Vivier <address@hidden>
>
> This allows to manage errors before the memory
> has started to be hotplugged. We already have
> the function for the CPU cores.

> +static void spapr_memory_pre_plug(HotplugHandler *hotplug_dev, DeviceState 
> *dev,
> +                                  Error **errp)
> +{
> +    PCDIMMDevice *dimm = PC_DIMM(dev);
> +    PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
> +    MemoryRegion *mr = ddc->get_memory_region(dimm);
> +    uint64_t size = memory_region_size(mr);
> +    char *mem_dev;
> +
> +    if (size % SPAPR_MEMORY_BLOCK_SIZE) {
> +        error_setg(errp, "Hotplugged memory size must be a multiple of "
> +                      "%lld MB", SPAPR_MEMORY_BLOCK_SIZE / M_BYTE);
> +        return;
> +    }
> +
> +    mem_dev = object_property_get_str(OBJECT(dimm), PC_DIMM_MEMDEV_PROP, 
> NULL);
> +    if (mem_dev && !kvmppc_is_mem_backend_page_size_ok(mem_dev)) {
> +        error_setg(errp, "Memory backend has bad page size. "
> +                   "Use 'memory-backend-file' with correct mem-path.");
> +        return;
> +    }
> +}

Coverity points out that this leaks memory -- object_property_get_str()
returns a copy of a string which the caller is supposed to free, but
this code doesn't free it. (CID 1375942.)

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]