diff options
author | Peter Xu <peterx@redhat.com> | 2019-01-16 11:08:12 +0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2019-02-05 10:58:33 -0500 |
commit | 2a078b1080917dc6143783e1dd645e188d11dc8f (patch) | |
tree | 9a46467761c68e07bfe06489780a1f146b4b36c9 /linux-user/safe-syscall.S | |
parent | 3f262b26b82cf5930f0c294d289f258a6d3d2528 (diff) |
intel_iommu: fix operator in vtd_switch_address_space
When calculating use_iommu, we wanted to first detect whether DMAR is
enabled, then check whether PT is enabled if DMAR is enabled. However
in the current code we used "&" rather than "&&" so the ordering
requirement is lost (instead it'll be an "AND" operation). This could
introduce errors dumped in QEMU console when rebooting a guest with
both assigned device and vIOMMU, like:
qemu-system-x86_64: vtd_dev_to_context_entry: invalid root entry:
rsvd=0xf000ff53f000e2c3, val=0xf000ff53f000ff53 (reserved nonzero)
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'linux-user/safe-syscall.S')
0 files changed, 0 insertions, 0 deletions