[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.9] x86/FLASK: fix unmap-domain-IRQ XSM hook
commit 44ceb192b50d48398dfd9e3b83870b872f507473 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Oct 12 15:04:27 2017 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Oct 12 15:04:27 2017 +0200 x86/FLASK: fix unmap-domain-IRQ XSM hook The caller and the FLASK implementation of xsm_unmap_domain_irq() disagreed about what the "data" argument points to in the MSI case: Change both sides to pass/take a PCI device. This is part of XSA-237. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> master commit: 6f17f5c43a3bd28d27ed8133b2bf513e2eab7d59 master date: 2017-10-12 14:37:56 +0200 --- xen/arch/x86/irq.c | 3 ++- xen/xsm/flask/hooks.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 9c1556c..8a8005e 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -2143,7 +2143,8 @@ int unmap_domain_pirq(struct domain *d, int pirq) nr = msi_desc->msi.nvec; } - ret = xsm_unmap_domain_irq(XSM_HOOK, d, irq, msi_desc); + ret = xsm_unmap_domain_irq(XSM_HOOK, d, irq, + msi_desc ? msi_desc->dev : NULL); if ( ret ) goto done; diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index fd84ac0..47e5eaf 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -918,8 +918,8 @@ static int flask_unmap_domain_msi (struct domain *d, int irq, void *data, u32 *sid, struct avc_audit_data *ad) { #ifdef CONFIG_HAS_PCI - struct msi_info *msi = data; - u32 machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn; + const struct pci_dev *pdev = data; + u32 machine_bdf = (pdev->seg << 16) | (pdev->bus << 8) | pdev->devfn; AVC_AUDIT_DATA_INIT(ad, DEV); ad->device = machine_bdf; -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.9 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |