On 23.07.25 08:43, Jan Beulich wrote:
On 23.07.2025 08:34, Jürgen Groß wrote:
On 23.07.25 08:28, Jan Beulich wrote:
On 22.07.2025 02:19, Jason Andryuk wrote:
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -195,6 +195,14 @@ static void set_domain_state_info(struct 
xen_domctl_get_domain_state *info,
           info->state |= XEN_DOMCTL_GETDOMSTATE_STATE_DYING;
       if ( d->is_dying == DOMDYING_dead )
           info->state |= XEN_DOMCTL_GETDOMSTATE_STATE_DEAD;
+
+    info->caps = 0;
+    if ( is_control_domain(d) )
+        info->caps |= XEN_DOMCTL_GETDOMSTATE_CAP_CONTROL;
+    if ( is_hardware_domain(d) )
+        info->caps |= XEN_DOMCTL_GETDOMSTATE_CAP_HARDWARE;
+    if ( is_xenstore_domain(d) )
+        info->caps |= XEN_DOMCTL_GETDOMSTATE_CAP_XENSTORE;
       info->unique_id = d->unique_id;
   }

This being a stable sub-op, don't we need a way to indicate to the caller
_that_ this field has valid data now? When non-zero it's easy to tell, but
getting back zero is ambiguous.

The hypercall sub-op was introduced in this development cycle only, so
there is no released Xen hypervisor without the capability setting.

In case this patch doesn't make it into 4.21, the case you are mentioning
must be handled, of course.

Hmm, yes, this way it's on the edge. As a stable sub-op, someone could have
backported the change, though. IOW (and in general) I wonder whether for
stable sub-ops we shouldn't be pretty strict about functional extensions,
not tying their addition to releases at all.

Should we really care about downstreams backporting not yet released
functionality?

Using your reasoning this would mean we'd need to issue XSAs for not yet
released hypervisor issues of stable interfaces, too. I don't think we
want to do that.


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to