From: Jan Beulich Date: Wed, 9 Jan 2013 16:13:26 +0000 (+0100) Subject: VT-d: fix interrupt remapping source validation for devices behind legacy bridges X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~7466 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=54eec36d92944a1824c42b824afa37299a7398e9;p=xen.git VT-d: fix interrupt remapping source validation for devices behind legacy bridges Using SVT_VERIFY_BUS here doesn't make sense; native Linux also uses SVT_VERIFY_SID_SQ here instead. This is XSA-33 / CVE-2012-5634. Signed-off-by: Jan Beulich --- diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c index 8b45e5ae8b..a9c3bc4c10 100644 --- a/xen/drivers/passthrough/vtd/intremap.c +++ b/xen/drivers/passthrough/vtd/intremap.c @@ -473,7 +473,7 @@ static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire) set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16, (bus << 8) | pdev->bus); else if ( pdev_type(seg, bus, devfn) == DEV_TYPE_LEGACY_PCI_BRIDGE ) - set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16, + set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16, PCI_BDF2(bus, devfn)); } break;