tools: fix error path of xendevicemodel_open()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 10 Jun 2020 11:40:04 +0000 (12:40 +0100)
committerWei Liu <wl@xen.org>
Fri, 26 Jun 2020 10:29:26 +0000 (10:29 +0000)
commitf91d103e74d4c2efa60fb42b6e9d530a92838f8e
tree4b236295a9784511b7e9cd8cb25ce8dd5450b5a8
parentd3688bf60f798074bf38d712a3e15c88cfb81ed4
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@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Release-acked-by: Paul Durrant <paul@xen.org>
Reviewed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libs/devicemodel/core.c