Update to v2.8.0, including integration of SLE qemu package so we are "Factory First" again for SLE qemu. Includes some spec file tweaks/cleanups as well. A number of post v2.8.0 security fixes are also included. OBS-URL: https://build.opensuse.org/request/show/461715 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=329
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 56fb083af9f432ec4ab438f016e26025981f3136 Mon Sep 17 00:00:00 2001
|
|
From: Li Qiang <liqiang6-s@360.cn>
|
|
Date: Mon, 28 Nov 2016 17:49:04 -0800
|
|
Subject: [PATCH] watchdog: 6300esb: add exit function
|
|
|
|
When the Intel 6300ESB watchdog is hot unplug. The timer allocated
|
|
in realize isn't freed thus leaking memory leak. This patch avoid
|
|
this through adding the exit function.
|
|
|
|
Signed-off-by: Li Qiang <liqiang6-s@360.cn>
|
|
Message-Id: <583cde9c.3223ed0a.7f0c2.886e@mx.google.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
(cherry picked from commit eb7a20a3616085d46aa6b4b4224e15587ec67e6e)
|
|
[BR: CVE-2016-10155 BSC#1021129]
|
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|
---
|
|
hw/watchdog/wdt_i6300esb.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/hw/watchdog/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
|
|
index a83d951213..49b3cd188a 100644
|
|
--- a/hw/watchdog/wdt_i6300esb.c
|
|
+++ b/hw/watchdog/wdt_i6300esb.c
|
|
@@ -428,6 +428,14 @@ static void i6300esb_realize(PCIDevice *dev, Error **errp)
|
|
/* qemu_register_coalesced_mmio (addr, 0x10); ? */
|
|
}
|
|
|
|
+static void i6300esb_exit(PCIDevice *dev)
|
|
+{
|
|
+ I6300State *d = WATCHDOG_I6300ESB_DEVICE(dev);
|
|
+
|
|
+ timer_del(d->timer);
|
|
+ timer_free(d->timer);
|
|
+}
|
|
+
|
|
static WatchdogTimerModel model = {
|
|
.wdt_name = "i6300esb",
|
|
.wdt_description = "Intel 6300ESB",
|
|
@@ -441,6 +449,7 @@ static void i6300esb_class_init(ObjectClass *klass, void *data)
|
|
k->config_read = i6300esb_config_read;
|
|
k->config_write = i6300esb_config_write;
|
|
k->realize = i6300esb_realize;
|
|
+ k->exit = i6300esb_exit;
|
|
k->vendor_id = PCI_VENDOR_ID_INTEL;
|
|
k->device_id = PCI_DEVICE_ID_INTEL_ESB_9;
|
|
k->class_id = PCI_CLASS_SYSTEM_OTHER;
|