diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-01-09 17:13:26 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-01-09 17:13:26 +0100 |
commit | 54eec36d92944a1824c42b824afa37299a7398e9 (patch) | |
tree | bfb2101ad18efc8cdd748ec17261b408592f0166 /xen | |
parent | f6423f77ef10e3af2105e069505566db44b601fe (diff) | |
download | xen-54eec36d92944a1824c42b824afa37299a7398e9.tar.gz xen-54eec36d92944a1824c42b824afa37299a7398e9.tar.bz2 xen-54eec36d92944a1824c42b824afa37299a7398e9.zip |
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 <jbeulich@suse.com>
Diffstat (limited to 'xen')
-rw-r--r-- | xen/drivers/passthrough/vtd/intremap.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |