[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] XSM/flask: constification of IRQ mapping interfaces
commit dcdcb97936473aaab261979c42f6aa8be330da97 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Tue Dec 5 17:17:57 2017 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Dec 5 17:17:57 2017 +0100 XSM/flask: constification of IRQ mapping interfaces This clarifies that the involved structures are read-only. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx> --- xen/include/xsm/dummy.h | 6 ++++-- xen/include/xsm/xsm.h | 4 ++-- xen/xsm/flask/hooks.c | 12 ++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index b2cd56c..d6ddadc 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -445,7 +445,8 @@ static XSM_INLINE int xsm_map_domain_pirq(XSM_DEFAULT_ARG struct domain *d) return xsm_default_action(action, current->domain, d); } -static XSM_INLINE int xsm_map_domain_irq(XSM_DEFAULT_ARG struct domain *d, int irq, void *data) +static XSM_INLINE int xsm_map_domain_irq(XSM_DEFAULT_ARG struct domain *d, + int irq, const void *data) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, d); @@ -469,7 +470,8 @@ static XSM_INLINE int xsm_unbind_pt_irq(XSM_DEFAULT_ARG struct domain *d, struct return xsm_default_action(action, current->domain, d); } -static XSM_INLINE int xsm_unmap_domain_irq(XSM_DEFAULT_ARG struct domain *d, int irq, void *data) +static XSM_INLINE int xsm_unmap_domain_irq(XSM_DEFAULT_ARG struct domain *d, + int irq, const void *data) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, d); diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 7f7feff..1406f75 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -97,9 +97,9 @@ struct xsm_operations { char *(*show_irq_sid) (int irq); int (*map_domain_pirq) (struct domain *d); - int (*map_domain_irq) (struct domain *d, int irq, void *data); + int (*map_domain_irq) (struct domain *d, int irq, const void *data); int (*unmap_domain_pirq) (struct domain *d); - int (*unmap_domain_irq) (struct domain *d, int irq, void *data); + int (*unmap_domain_irq) (struct domain *d, int irq, const void *data); int (*bind_pt_irq) (struct domain *d, struct xen_domctl_bind_pt_irq *bind); int (*unbind_pt_irq) (struct domain *d, struct xen_domctl_bind_pt_irq *bind); int (*irq_permission) (struct domain *d, int pirq, uint8_t allow); diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index f01b4cf..04f453b 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -877,13 +877,13 @@ static int flask_map_domain_pirq (struct domain *d) return current_has_perm(d, SECCLASS_RESOURCE, RESOURCE__ADD); } -static int flask_map_domain_msi (struct domain *d, int irq, void *data, +static int flask_map_domain_msi (struct domain *d, int irq, const void *data, u32 *sid, struct avc_audit_data *ad) { #ifdef CONFIG_HAS_PCI - struct msi_info *msi = data; - + const struct msi_info *msi = data; u32 machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn; + AVC_AUDIT_DATA_INIT(ad, DEV); ad->device = machine_bdf; @@ -912,7 +912,7 @@ static u32 flask_iommu_resource_use_perm(void) return perm; } -static int flask_map_domain_irq (struct domain *d, int irq, void *data) +static int flask_map_domain_irq (struct domain *d, int irq, const void *data) { u32 sid, dsid; int rc = -EPERM; @@ -943,7 +943,7 @@ static int flask_unmap_domain_pirq (struct domain *d) return current_has_perm(d, SECCLASS_RESOURCE, RESOURCE__REMOVE); } -static int flask_unmap_domain_msi (struct domain *d, int irq, void *data, +static int flask_unmap_domain_msi (struct domain *d, int irq, const void *data, u32 *sid, struct avc_audit_data *ad) { #ifdef CONFIG_HAS_PCI @@ -959,7 +959,7 @@ static int flask_unmap_domain_msi (struct domain *d, int irq, void *data, #endif } -static int flask_unmap_domain_irq (struct domain *d, int irq, void *data) +static int flask_unmap_domain_irq (struct domain *d, int irq, const void *data) { u32 sid; int rc = -EPERM; -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |