[libvirt] [For 1.3.3 1/2] libxl: fix attaching net device of type hostdev
Jim Fehlig
jfehlig at suse.com
Wed Mar 30 22:36:02 UTC 2016
Chunyan sent a correct patch to fix a resource leak on error in
libxlDomainAttachNetDevice
https://www.redhat.com/archives/libvir-list/2016-March/msg00924.html
I made what was thought to be an improvement and pushed the patch as
commit e6336442. As it turns out, my change broke adding net devices
that are actually hostdevs to the list of nets in virDomainDef. This
patch changes e6336442 to resemble Chunyan's original, correct
patch.
Signed-off-by: Jim Fehlig <jfehlig at suse.com>
---
src/libxl/libxl_driver.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 5103495..9955cc7 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -3174,12 +3174,13 @@ libxlDomainAttachNetDevice(libxlDriverPrivatePtr driver,
goto cleanup;
}
- vm->def->nets[vm->def->nnets++] = net;
ret = 0;
cleanup:
libxl_device_nic_dispose(&nic);
- if (ret) {
+ if (!ret) {
+ vm->def->nets[vm->def->nnets++] = net;
+ } else {
virDomainNetRemoveHostdev(vm->def, net);
networkReleaseActualDevice(vm->def, net);
}
--
2.6.1
More information about the libvir-list
mailing list