[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH v2 17/26] xen/domctl: wrap xsm_set_target() with CONFIG_MGMT_HYPERCALLS


  • To: Jan Beulich <jbeulich@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: "Penny, Zheng" <penny.zheng@xxxxxxx>
  • Date: Thu, 25 Sep 2025 08:10:48 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ve0AF8Q8uTN+d7J109dtLBBvDpkWypkIvr7VpucyulM=; b=mkv5Bcl3ZYPV1f8wQbZ25xx1lH5kQBS0K9PBvGjiWlEF+KUmPLRJHxuJMgIiJFPVTfhljvTF1IZ0PXkLYZ0vBRrs7JwOSCqZNG8WRdG+3vnFi551kjCUbTeJ+zk7LCWhsSKtX1IxDOcLroGMd+aemWZf9pNorqcpCun14vm+LtFA0rUCD+zwGGPv0WLe4qdHDeZUKJ67C34eApai9lBsCrNTJHBqv3hQ8KXU2u2imC0GiGrqoJkjPzg38m5TU04OxB2umaFC75NbIjC6hRgWhw2engjN1A+dw9R2dZcOJMDjiE5QbaZjEvjFAQS9k64OzNpF8r21puqTIRfWgUIhAQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JqDzJxPulIu74dNkEE9ukhNibm6RlFj5qYtA1PMQzM4L5T/m3sWJ8cNYUdKI1BRG5ebBE86I6b0P/FFTsBgfXm+4xZSnqtwlhEUwAAwjyOoo5h39yU+xWl2f4grGqxmIR+8ECA5pppd5TUyFu9cgSOaGs9m/H2jRpvGDDHAO7gDZlUctFmN0osWSqJYX/ScEggzBHe+zBLOWafqKc/TTAkUFB7jZPVrU4o0wjCmRdwnQT6Mx90L6A9er9TNkK3VRq47mJ7lcboM3DJYNyGRW6EJQQwaUddXQnvQ/M6ZdvTHfdda9HevLUwYPmqt82fO2vE97Ecb5q5Sj/xPye8lG0A==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "Huang, Ray" <Ray.Huang@xxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Thu, 25 Sep 2025 08:11:02 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Msip_labels: MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-09-25T08:04:53.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
  • Thread-index: AQHcIiYXdlMjGvcRv02JcgghJSn63bSNRauAgACV6QCAFcYywA==
  • Thread-topic: [PATCH v2 17/26] xen/domctl: wrap xsm_set_target() with CONFIG_MGMT_HYPERCALLS

[Public]

> -----Original Message-----
> From: Jan Beulich <jbeulich@xxxxxxxx>
> Sent: Thursday, September 11, 2025 7:34 PM
> To: Penny, Zheng <penny.zheng@xxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; Huang, Ray <Ray.Huang@xxxxxxx>; Daniel
> P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>; Stefano Stabellini
> <sstabellini@xxxxxxxxxx>
> 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 <Penny.Zheng@xxxxxxx>
> >> ---
> >> 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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.