On 10.09.2025 09:38, Penny Zheng wrote: > --- a/xen/include/xsm/xsm.h > +++ b/xen/include/xsm/xsm.h > @@ -55,8 +55,8 @@ struct xsm_ops { > void (*security_domaininfo)(struct domain *d, > struct xen_domctl_getdomaininfo *info); > int (*domain_create)(struct domain *d, uint32_t ssidref); > - int (*getdomaininfo)(struct domain *d); > #ifdef CONFIG_MGMT_HYPERCALLS > + int (*getdomaininfo)(struct domain *d); > int (*domctl_scheduler_op)(struct domain *d, int op); > int (*sysctl_scheduler_op)(int op); > int (*set_target)(struct domain *d, struct domain *e); > @@ -234,7 +234,11 @@ static inline int xsm_domain_create( > > static inline int xsm_getdomaininfo(xsm_default_t def, struct domain *d) > { > +#ifdef CONFIG_MGMT_HYPERCALLS > return alternative_call(xsm_ops.getdomaininfo, d); > +#else > + return -EOPNOTSUPP; > +#endif > }
This is in use by a Xenstore sysctl and a Xenstore domctl. The sysctl is hence already broken with the earlier series. Now the domctl is also being screwed up. I don't think MGMT_HYPERCALLS really ought to extend to any operations available to other than the core toolstack. That's the Xenstore ones here, but also the ones used by qemu (whether run in Dom0 or a stubdom). IOW I think there's a conceptual issue with this work which needs resolving first. Jan