Patch "xen-netback: fix memory leaks on XenBus disconnect" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
xen-netback: fix memory leaks on XenBus disconnect
to the 4.9-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:
xen-netback-fix-memory-leaks-on-xenbus-disconnect.patch
and it can be found in the queue-4.9 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 foo@baz Mon Jul 3 11:54:13 CEST 2017
From: Igor Druzhinin <[email protected]>
Date: Tue, 17 Jan 2017 20:49:37 +0000
Subject: xen-netback: fix memory leaks on XenBus disconnect
From: Igor Druzhinin <[email protected]>
[ Upstream commit 9a6cdf52b85ea5fb21d2bb31e4a7bc61b79923a7 ]
Eliminate memory leaks introduced several years ago by cleaning the queue resources which are allocated on XenBus connection event. Namely, queue structure array and pages used for IO rings.
--- drivers/net/xen-netback/xenbus.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/net/xen-netback/xenbus.c +11 -0
@@ -493,11 +493,20 @@ static int backend_create_xenvif(structstatic void backend_disconnect (struct backend_info *be) {if (be->vif) { +unsigned int queue_index; +xen_unregister_watchers (be->vif);#ifdef CONFIG_DEBUG_FS xenvif_debugfs_delif (be->vif);#endif /* CONFIG_DEBUG_FS */ xenvif_disconnect_data (be->vif); +for (queue_index =0 ; queue_index < be->vif->num_queues; ++queue_index) +xenvif_deinit_queue (&be->vif->queues[queue_index]); + +vfree (be->vif->queues); + be->vif->num_queues =0 ; + be->vif->queues =NULL ; +xenvif_disconnect_ctrl (be->vif); } }
@@ -1040,6 +1049,8 @@ static void connect(struct backend_info err:if (be->vif->num_queues >0 )xenvif_disconnect_data (be->vif);/* Clean up existing queues */ +for (queue_index =0 ; queue_index < be->vif->num_queues; ++queue_index) +xenvif_deinit_queue (&be->vif->queues[queue_index]);vfree (be->vif->queues); be->vif->queues =NULL ; be->vif->num_queues =0 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/xen-netback-protect-resource-cleaning-on-xenbus-disconnect.patch queue-4.9/xen-netback-fix-memory-leaks-on-xenbus-disconnect.patch