|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] tools: fix error path of xendevicemodel_open()
commit f91d103e74d4c2efa60fb42b6e9d530a92838f8e
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Wed Jun 10 12:40:04 2020 +0100
Commit: Wei Liu <wl@xxxxxxx>
CommitDate: Fri Jun 26 10:29:26 2020 +0000
tools: fix error path of xendevicemodel_open()
c/s 6902cb00e03 "tools/libxendevicemodel: extract functions and add a compat
layer" introduced calls to both xencall_open() and
osdep_xendevicemodel_open()
but failed to fix up the error path.
c/s f68c7c618a3 "libs/devicemodel: free xencall handle in error path in
_open()" fixed up the xencall_open() aspect of the error path (missing the
osdep_xendevicemodel_open() aspect), but positioned the xencall_close()
incorrectly, creating the same pattern proved to be problematic by c/s
30a72f02870 "tools: fix error path of xenhypfs_open()".
Reposition xtl_logger_destroy(), and introduce the missing
osdep_xendevicemodel_close().
Fixes: 6902cb00e03 ("tools/libxendevicemodel: extract functions and add a
compat layer")
Fixes: f68c7c618a3 ("libs/devicemodel: free xencall handle in error path in
_open()")
Backport: 4.9+
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
Release-acked-by: Paul Durrant <paul@xxxxxxx>
Reviewed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
tools/libs/devicemodel/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/libs/devicemodel/core.c b/tools/libs/devicemodel/core.c
index db501d9e80..4d4063956d 100644
--- a/tools/libs/devicemodel/core.c
+++ b/tools/libs/devicemodel/core.c
@@ -67,9 +67,10 @@ xendevicemodel_handle *xendevicemodel_open(xentoollog_logger
*logger,
return dmod;
err:
- xtl_logger_destroy(dmod->logger_tofree);
+ osdep_xendevicemodel_close(dmod);
xentoolcore__deregister_active_handle(&dmod->tc_ah);
xencall_close(dmod->xcall);
+ xtl_logger_destroy(dmod->logger_tofree);
free(dmod);
return NULL;
}
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |