From abd324a24770a9a0deb669cbc917c270a297166e Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 9 Sep 2025 08:17:28 +0200 Subject: [PATCH] libxl: preserve errno in libxl__xcinfo2xlinfo() Callers observing errors elsewhere may be confused by the ENOSYS that the Flask operation would yield on a Flask-disabled hypervisor. Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk Acked-by: Anthony PERARD --- tools/libs/light/libxl_domain.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c index dd2e5e9a19..5be47f687f 100644 --- a/tools/libs/light/libxl_domain.c +++ b/tools/libs/light/libxl_domain.c @@ -277,6 +277,7 @@ void libxl__xcinfo2xlinfo(libxl_ctx *ctx, libxl_dominfo *xlinfo) { size_t size; + int saved_errno = errno; memcpy(&(xlinfo->uuid), xcinfo->handle, sizeof(xen_domain_handle_t)); xlinfo->domid = xcinfo->domain; @@ -284,6 +285,7 @@ void libxl__xcinfo2xlinfo(libxl_ctx *ctx, if (libxl_flask_sid_to_context(ctx, xlinfo->ssidref, &xlinfo->ssid_label, &size) < 0) xlinfo->ssid_label = NULL; + errno = saved_errno; xlinfo->dying = !!(xcinfo->flags&XEN_DOMINF_dying); xlinfo->shutdown = !!(xcinfo->flags&XEN_DOMINF_shutdown);