|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v1 16/25] xen/domctl: wrap around XEN_DOMCTL_set_target
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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |