mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:56:38 +00:00
hw/tpm: free PPI buffer on finalization
The PPI buffer is allocated with qemu_memalign() in instance_init but
never freed when the device is destroyed.
Fixes: 46cd2c1050 ("hw/tpm: add PPI support to tpm-tis-device for ARM64 virt")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
@@ -148,11 +148,20 @@ static void tpm_tis_sysbus_class_init(ObjectClass *klass, const void *data)
|
||||
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
||||
}
|
||||
|
||||
static void tpm_tis_sysbus_finalize(Object *obj)
|
||||
{
|
||||
TPMStateSysBus *sbdev = TPM_TIS_SYSBUS(obj);
|
||||
TPMState *s = &sbdev->state;
|
||||
|
||||
qemu_vfree(s->ppi.buf);
|
||||
}
|
||||
|
||||
static const TypeInfo tpm_tis_sysbus_info = {
|
||||
.name = TYPE_TPM_TIS_SYSBUS,
|
||||
.parent = TYPE_DYNAMIC_SYS_BUS_DEVICE,
|
||||
.instance_size = sizeof(TPMStateSysBus),
|
||||
.instance_init = tpm_tis_sysbus_initfn,
|
||||
.instance_finalize = tpm_tis_sysbus_finalize,
|
||||
.class_init = tpm_tis_sysbus_class_init,
|
||||
.interfaces = (const InterfaceInfo[]) {
|
||||
{ TYPE_TPM_IF },
|
||||
|
||||
Reference in New Issue
Block a user