On 16.07.2025 23:14, Jason Andryuk wrote:
> Untargetable domains are currently hidden from the control domain -
> e.g. xl list will not show them.  getdomaininfo fails on the
> !is_hypercall_target() check in XSM_TARGET.  Add control domain to the
> XSM_XS_PRIV check so it can pass.

This feels like a pretty gross abuse of XS_PRIV. It once again supports
my take that the level of granularity you want will require Flask. Or of
course you could also come up with a new access control mechanism, much
lighter-weight than Flask, but still not dummy nor SILO.

As per my reply to an earlier patch - whether it is okay to prevent e.g.
"xl list" to see all domains is questionable as well. I'm not seeing
"interference" there.

> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -87,7 +87,8 @@ static always_inline int xsm_default_action(
>          fallthrough;
>      case XSM_XS_PRIV:
>          if ( action == XSM_XS_PRIV &&
> -             evaluate_nospec(is_xenstore_domain(src)) )
> +             (evaluate_nospec(is_xenstore_domain(src)) ||
> +              is_control_domain(src)) )

Like in patch 2 (in is_priv_domain()), I think this wants collapsing the
two evaluate_nospec() into a single one.

Jan

Reply via email to