[Public]

> -----Original Message-----
> From: Jan Beulich <[email protected]>
> Sent: Thursday, September 11, 2025 7:34 PM
> To: Penny, Zheng <[email protected]>
> Cc: [email protected]; Huang, Ray <[email protected]>; Daniel
> P. Smith <[email protected]>; Stefano Stabellini
> <[email protected]>
> Subject: Re: [PATCH v2 17/26] xen/domctl: wrap xsm_set_target() with
> CONFIG_MGMT_HYPERCALLS
>
> On 11.09.2025 04:37, Stefano Stabellini wrote:
> > On Wed, 10 Sep 2025, Penny Zheng wrote:
> >> Function xsm_set_target() is only invoked under XEN_DOMCTL_set_target
> >> domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS.
> >>
> >> Signed-off-by: Penny Zheng <[email protected]>
> >> ---
> >> v1 -> v2:
> >> - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
> >> ---
> >>  xen/include/xsm/xsm.h | 6 +++++-
> >>  xen/xsm/dummy.c       | 2 +-
> >>  xen/xsm/flask/hooks.c | 4 ++--
> >>  3 files changed, 8 insertions(+), 4 deletions(-)
> >
> > No change to domctl.c ?
>

Use in-function #ifdef-else, like ...

>
> >> --- a/xen/include/xsm/xsm.h
> >> +++ b/xen/include/xsm/xsm.h
> >> @@ -59,8 +59,8 @@ struct xsm_ops {
> >>  #ifdef CONFIG_MGMT_HYPERCALLS
> >>      int (*domctl_scheduler_op)(struct domain *d, int op);
> >>      int (*sysctl_scheduler_op)(int op); -#endif
> >>      int (*set_target)(struct domain *d, struct domain *e);
> >> +#endif
> >>      int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
> >>      int (*sysctl)(int cmd);
> >>      int (*readconsole)(uint32_t clear); @@ -258,7 +258,11 @@ static
> >> inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
> >> static inline int xsm_set_target(
> >>      xsm_default_t def, struct domain *d, struct domain *e)  {
> >> +#ifdef CONFIG_MGMT_HYPERCALLS
> >>      return alternative_call(xsm_ops.set_target, d, e);
> >> +#else
> >> +    return -EOPNOTSUPP;
> >> +#endif
> >>  }
>
> Again I would have expected for this inline function to be wrapped as a 
> whole; the
> title says exactly that, imo.
>

... could avoid adding in-place stub in domctl.c. That's my original intent. 
But, as jan said in other similar commits, it will leave unreachable codes when 
MGMT_HYPERCALLS=n.
The whole inline function must be wrapped as a whole.

> Jan

Reply via email to