From dd60120e2a0f95ff31bd662922d22747a3c53dcc Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 3 Aug 2026 16:35:32 +0200 Subject: [PATCH] XSM: make .hypfs() hook dependent upon HYPFS=y It's unreachable / dead otherwise. Signed-off-by: Jan Beulich Acked-by: Daniel P. Smith --- xen/include/xsm/dummy.h | 2 ++ xen/include/xsm/hooks.h | 2 ++ xen/xsm/flask/hooks.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index 4fe12f3c85..f000d1f60a 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -437,11 +437,13 @@ static XSM_INLINE int cf_check xsm_resource_setup_misc(XSM_DEFAULT_VOID) return xsm_default_action(action, current->domain, NULL); } +#ifdef CONFIG_HYPFS static XSM_INLINE int cf_check xsm_hypfs_op(XSM_DEFAULT_VOID) { XSM_ASSERT_ACTION(XSM_PRIV); return xsm_default_action(action, current->domain, NULL); } +#endif static XSM_INLINE long cf_check xsm_do_xsm_op(XEN_GUEST_HANDLE_PARAM(void) op) { diff --git a/xen/include/xsm/hooks.h b/xen/include/xsm/hooks.h index 41c12c9306..c309a7ca43 100644 --- a/xen/include/xsm/hooks.h +++ b/xen/include/xsm/hooks.h @@ -100,7 +100,9 @@ XSM_HOOK(int, pci_config_permission, struct domain *, uint32_t, uint16_t, uint16_t, uint8_t) #endif +#ifdef CONFIG_HYPFS XSM_HOOK(int, hypfs_op) +#endif XSM_HOOK(int, hvm_param, struct domain *, unsigned long) XSM_HOOK(int, hvm_param_altp2mhvm, struct domain *) diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 1656ac8f3c..f6675cb298 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1345,10 +1345,12 @@ static int cf_check flask_resource_setup_misc(void) return avc_current_has_perm(SECINITSID_XEN, SECCLASS_RESOURCE, RESOURCE__SETUP, NULL); } +#ifdef CONFIG_HYPFS static inline int cf_check flask_hypfs_op(void) { return domain_has_xen(current->domain, XEN__HYPFS_OP); } +#endif static int cf_check flask_add_to_physmap(struct domain *d1, struct domain *d2) {