[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251226150706.2511127-4-maqianga@uniontech.com>
Date: Fri, 26 Dec 2025 23:07:06 +0800
From: Qiang Ma <maqianga@...ontech.com>
To: zhaotianrui@...ngson.cn,
maobibo@...ngson.cn,
chenhuacai@...nel.org,
kernel@...0n.name
Cc: kvm@...r.kernel.org,
loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Qiang Ma <maqianga@...ontech.com>
Subject: [PATCH 3/3] LoongArch: KVM: Fix kvm_device leak in kvm_eiointc_destroy
In kvm_ioctl_create_device(), kvm_device has allocated memory,
kvm_device->destroy() seems to be supposed to free its kvm_device
struct, but kvm_eiointc_destroy() is not currently doing this,
that would lead to a memory leak.
So, fix it.
Signed-off-by: Qiang Ma <maqianga@...ontech.com>
---
arch/loongarch/kvm/intc/eiointc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/loongarch/kvm/intc/eiointc.c b/arch/loongarch/kvm/intc/eiointc.c
index 29886876143f..cb94c7e8267a 100644
--- a/arch/loongarch/kvm/intc/eiointc.c
+++ b/arch/loongarch/kvm/intc/eiointc.c
@@ -679,6 +679,8 @@ static void kvm_eiointc_destroy(struct kvm_device *dev)
kvm_io_bus_unregister_dev(kvm, KVM_IOCSR_BUS, &eiointc->device);
kvm_io_bus_unregister_dev(kvm, KVM_IOCSR_BUS, &eiointc->device_vext);
kfree(eiointc);
+ /* alloc by kvm_ioctl_create_device, free by .destroy */
+ kfree(dev);
}
static struct kvm_device_ops kvm_eiointc_dev_ops = {
--
2.20.1
Powered by blists - more mailing lists