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

[PATCH v1 16/25] xen/domctl: wrap around XEN_DOMCTL_set_target


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Penny Zheng <Penny.Zheng@xxxxxxx>
  • Date: Sun, 3 Aug 2025 17:47:29 +0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • 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=UNw4NHXqbWOs8j23iJFcjSmDR7bG+jYlgp3Mfiza5hE=; b=mX+bNSlhigNT+AnVnwDHDtABdAGT5y5w13JZI7gdfLwKylTFhSl5ab4fS+pjviJU5d1iUf2+xlL3dAH2/w1REsruUj1B1MKyAHIO7Ynz2L8scq9bQN3yxzcfOM98aGusmW/HYsFxGl0XXop3ty3WICEsEr4y+UB9dkaM38cMy5Nt8r4wMU0121veJIjYae5WVnbqZ1HJWY4H4rvEcM4DCdZg4ykE/0m2WMBIXJ6N1XWsso5B7mXpclw30PbZ/J/XZkcm8rDzVppZ2IgIkrHsG8SbAeHuZhXes0Ef9YabS+wSOTlmwpGiDoRPDjpJBK/BLP0AMQ7WJprCQ5rf/08euw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fQaZneFadSuc8APs76FQqB1QYVLExvGGhGsMl7Cu4ydqW64wdXz3J9mKms3ZsoQUSiMBnbelCAFp6SpCwCjVsm81KZevs+yaVe81jvcHBeo3PCpBTUw6ogRUnfYowjeq4LpVgTb1VEWDP7BewF0EXoaFYHB/SZetM0rmvbv+XxSN+f3SVnh6tJx7u/0rkfC0wTOjU4ecRPjHM8qEBh4A0cfFNB8BU9pD5rVKnvP6IhXWKwml+9kqvYW07mcvkOsOIU6t4PUsAgRn6Mmok8EuR1wEmaYcUW4K4vGQQJ9U+yyZZrLohSiRukPUvr1zPF6UIirckVn72K1wGqj0Oxtong==
  • Cc: <ray.huang@xxxxxxx>, Penny Zheng <Penny.Zheng@xxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Sun, 03 Aug 2025 09:50:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Function xsm_set_target() is only invoked under XEN_DOMCTL_set_target
domctl-op, and shall be wrapped.

Signed-off-by: Penny Zheng <Penny.Zheng@xxxxxxx>
---
 xen/include/xsm/xsm.h | 4 ++++
 xen/xsm/dummy.c       | 2 ++
 xen/xsm/flask/hooks.c | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 1759d49aaa..55f8d0903e 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -62,7 +62,9 @@ struct xsm_ops {
 #ifdef CONFIG_SYSCTL
     int (*sysctl_scheduler_op)(int op);
 #endif
+#ifdef CONFIG_DOMCTL
     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);
@@ -261,11 +263,13 @@ static inline int xsm_sysctl_scheduler_op(xsm_default_t 
def, int cmd)
 }
 #endif
 
+#ifdef CONFIG_DOMCTL
 static inline int xsm_set_target(
     xsm_default_t def, struct domain *d, struct domain *e)
 {
     return alternative_call(xsm_ops.set_target, d, e);
 }
+#endif
 
 static inline int xsm_domctl(xsm_default_t def, struct domain *d,
                              unsigned int cmd, uint32_t ssidref)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 2798425de2..cd5358dd1e 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -24,7 +24,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops 
= {
 #ifdef CONFIG_SYSCTL
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
 #endif
+#ifdef CONFIG_DOMCTL
     .set_target                    = xsm_set_target,
+#endif
     .domctl                        = xsm_domctl,
 #ifdef CONFIG_SYSCTL
     .sysctl                        = xsm_sysctl,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 8361cf94f9..2975d2906f 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -645,6 +645,7 @@ static int cf_check flask_sysctl_scheduler_op(int op)
 }
 #endif /* CONFIG_SYSCTL */
 
+#ifdef CONFIG_DOMCTL
 static int cf_check flask_set_target(struct domain *d, struct domain *t)
 {
     int rc;
@@ -668,6 +669,7 @@ static int cf_check flask_set_target(struct domain *d, 
struct domain *t)
                                  &dsec->target_sid);
     return rc;
 }
+#endif /* CONFIG_DOMCTL */
 
 static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
                                  uint32_t ssidref)
@@ -1900,7 +1902,9 @@ static const struct xsm_ops __initconst_cf_clobber 
flask_ops = {
 #ifdef CONFIG_SYSCTL
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
 #endif
+#ifdef CONFIG_DOMCTL
     .set_target = flask_set_target,
+#endif
     .domctl = flask_domctl,
 #ifdef CONFIG_SYSCTL
     .sysctl = flask_sysctl,
-- 
2.34.1




 


Rackspace

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