Skip to content

Commit

Permalink
iommu/vt-d: Make sure copied over IR entries are not reused
Browse files Browse the repository at this point in the history
Walk over the copied entries and mark the present ones as
allocated.

Tested-by: ZhenHua Li <zhen-hual@hp.com>
Tested-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
  • Loading branch information
Joerg Roedel committed Jun 16, 2015
1 parent af3b358 commit 7c3c987
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/iommu/intel_irq_remapping.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,7 @@ static int iommu_load_old_irte(struct intel_iommu *iommu)
{
struct irte *old_ir_table;
phys_addr_t irt_phys;
unsigned int i;
size_t size;
u64 irta;

Expand Down Expand Up @@ -481,6 +482,15 @@ static int iommu_load_old_irte(struct intel_iommu *iommu)

__iommu_flush_cache(iommu, iommu->ir_table->base, size);

/*
* Now check the table for used entries and mark those as
* allocated in the bitmap
*/
for (i = 0; i < INTR_REMAP_TABLE_ENTRIES; i++) {
if (iommu->ir_table->base[i].present)
bitmap_set(iommu->ir_table->bitmap, i, 1);
}

return 0;
}

Expand Down

0 comments on commit 7c3c987

Please sign in to comment.