]> xenbits.xensource.com Git - xen.git/commitdiff
xen/sysctl: fix XEN_SYSCTL_getdomaininfolist handling with XSM
authorJuergen Gross <jgross@suse.com>
Tue, 23 May 2023 13:00:59 +0000 (15:00 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 23 May 2023 13:00:59 +0000 (15:00 +0200)
In case XSM is active, the handling of XEN_SYSCTL_getdomaininfolist
can fail if the last domain scanned isn't allowed to be accessed by
the calling domain (i.e. xsm_getdomaininfo(XSM_HOOK, d) is failing).

Fix that by just ignoring scanned domains where xsm_getdomaininfo()
is returning an error, like it is effectively done when such a
situation occurs for a domain not being the last one scanned.

Fixes: d046f361dc93 ("Xen Security Modules: XSM")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: b033eddc9779109c06a26936321d27a2ef4e088b
master date: 2023-05-02 12:04:58 +0200

xen/common/sysctl.c

index 1ad3c29351db60f8fc4053ce9ab11bf052065965..5ed60f46961dcd9ef8fc2d9950126dbc7f7c06c1 100644 (file)
@@ -89,8 +89,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
             if ( num_domains == op->u.getdomaininfolist.max_domains )
                 break;
 
-            ret = xsm_getdomaininfo(XSM_HOOK, d);
-            if ( ret )
+            if ( xsm_getdomaininfo(XSM_HOOK, d) )
                 continue;
 
             getdomaininfo(d, &info);