Patch "[PATCH 038/135] drivers/hv: cleanup synic msrs if vmbus connect" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
[PATCH 038/135] drivers/hv: cleanup synic msrs if vmbus connect
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
0038-drivers-hv-cleanup-synic-msrs-if-vmbus-connect-faile.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
b43e0d6819e7723e5b43da02b039eb6d62970f1fMon Sep 17 00:00:00 2001
From: Andrey Smetanin <[email protected]>
Date: Mon, 14 Dec 2015 16:01:38 -0800
Subject: [PATCH 038/135] drivers/hv: cleanup synic msrs if vmbus connect
failed
[ Upstream commit 17efbee8ba02ef00d3b270998978f8a1a90f1d92 ]
Before vmbus_connect() synic is setup per vcpu - this means hypervisor receives writes at synic msr's and probably allocate hypervisor resources per synic setup.
If vmbus_connect() failed for some reason it's neccessary to cleanup synic setup by call hv_synic_cleanup() at each vcpu to get a chance to free allocated resources by hypervisor per synic.
This patch does appropriate cleanup in case of vmbus_connect() failure.
--- drivers/hv/vmbus_drv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/hv/vmbus_drv.c +3 -1
@@ -870,7 +870,7 @@ static int vmbus_bus_init(int irq)on_each_cpu (hv_synic_init,NULL ,1 ); ret =vmbus_connect ();if (ret) - goto err_alloc; + goto err_connect;if (vmbus_proto_version >VERSION_WIN7 )cpu_hotplug_disable ();
@@ -888,6 +888,8 @@ static int vmbus_bus_init(int irq)return 0 ; +err_connect: +on_each_cpu (hv_synic_cleanup,NULL ,1 ); err_alloc:hv_synic_free ();hv_remove_vmbus_irq ();
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/0038-drivers-hv-cleanup-synic-msrs-if-vmbus-connect-faile.patch