[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH 1/1] platform-bus: fix refcount leak
From: |
Xingtao Yao (Fujitsu) |
Subject: |
RE: [PATCH 1/1] platform-bus: fix refcount leak |
Date: |
Fri, 30 Aug 2024 10:45:39 +0000 |
> -----Original Message-----
> From: qemu-devel-bounces+yaoxt.fnst=fujitsu.com@nongnu.org
> <qemu-devel-bounces+yaoxt.fnst=fujitsu.com@nongnu.org> On Behalf Of Gao
> Shiyuan via
> Sent: Thursday, August 29, 2024 9:10 PM
> To: Paolo Bonzini <pbonzini@redhat.com>
> Cc: qemu-devel@nongnu.org; gaoshiyuan@baidu.com
> Subject: [PATCH 1/1] platform-bus: fix refcount leak
>
> Temporary object causes reference count leakage.
>
> Signed-off-by: Gao Shiyuan <gaoshiyuan@baidu.com>
> ---
> hw/core/platform-bus.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/hw/core/platform-bus.c b/hw/core/platform-bus.c
> index b8487b26b6..dc58bf505a 100644
> --- a/hw/core/platform-bus.c
> +++ b/hw/core/platform-bus.c
> @@ -145,9 +145,12 @@ static void platform_bus_map_mmio(PlatformBusDevice
> *pbus, SysBusDevice *sbdev,
> * the target device's memory region
> */
> for (off = 0; off < pbus->mmio_size; off += alignment) {
> - if (!memory_region_find(&pbus->mmio, off, size).mr) {
> + MemoryRegion *mr = memory_region_find(&pbus->mmio, off, size).mr;
> + if (!mr) {
> found_region = true;
> break;
> + } else {
> + memory_region_unref(mr);
> }
LGTM, but if the empty region is not found, the process will stop running, so I
think this bug may be not
serious.
> }
>
> --
> 2.39.3 (Apple Git-146)
>