提交 9f4c7448 编写于 作者: D Dan Carpenter 提交者: Joerg Roedel

iommu/vt-d: Fix signedness bug in alloc_irte()

"index" needs to be signed for the error handling to work.  I deleted a
little bit of obsolete cruft related to "index" and "start_index" as
well.

Fixes: 360eb3c5 ('iommu/vt-d: use dedicated bitmap to track remapping entry allocation status')
Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: NJoerg Roedel <joro@8bytes.org>
上级 9bdc531e
...@@ -71,18 +71,13 @@ static int alloc_irte(struct intel_iommu *iommu, int irq, u16 count) ...@@ -71,18 +71,13 @@ static int alloc_irte(struct intel_iommu *iommu, int irq, u16 count)
struct ir_table *table = iommu->ir_table; struct ir_table *table = iommu->ir_table;
struct irq_2_iommu *irq_iommu = irq_2_iommu(irq); struct irq_2_iommu *irq_iommu = irq_2_iommu(irq);
struct irq_cfg *cfg = irq_get_chip_data(irq); struct irq_cfg *cfg = irq_get_chip_data(irq);
u16 index, start_index;
unsigned int mask = 0; unsigned int mask = 0;
unsigned long flags; unsigned long flags;
int index;
if (!count || !irq_iommu) if (!count || !irq_iommu)
return -1; return -1;
/*
* start the IRTE search from index 0.
*/
index = start_index = 0;
if (count > 1) { if (count > 1) {
count = __roundup_pow_of_two(count); count = __roundup_pow_of_two(count);
mask = ilog2(count); mask = ilog2(count);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册