* gnu/packages/qemu.scm (qemu)[source]: Add patches. * gnu/packages/patches/qemu-CVE-2016-10155.patch, gnu/packages/patches/qemu-CVE-2017-5552.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them.
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From eb7a20a3616085d46aa6b4b4224e15587ec67e6e 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.
 | 
						|
 | 
						|
http://git.qemu.org/?p=qemu.git;a=patch;h=eb7a20a3616085d46aa6b4b4224e15587ec67e6e
 | 
						|
this patch is from qemu-git.
 | 
						|
 | 
						|
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>
 | 
						|
---
 | 
						|
 hw/watchdog/wdt_i6300esb.c |    9 +++++++++
 | 
						|
 1 files changed, 9 insertions(+), 0 deletions(-)
 | 
						|
 | 
						|
diff --git a/hw/watchdog/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
 | 
						|
index a83d951..49b3cd1 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;
 | 
						|
-- 
 | 
						|
1.7.0.4
 | 
						|
 |