[PATCH] x86-64: Fix off by one error in IOMMU boundary checking
Should be harmless because there is normally no memory there, but technically it was incorrect. Pointed out by Leo Duran Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
ffb6017563
commit
00edefae05
|
@ -185,7 +185,7 @@ static void iommu_full(struct device *dev, size_t size, int dir)
|
|||
static inline int need_iommu(struct device *dev, unsigned long addr, size_t size)
|
||||
{
|
||||
u64 mask = *dev->dma_mask;
|
||||
int high = addr + size >= mask;
|
||||
int high = addr + size > mask;
|
||||
int mmu = high;
|
||||
if (force_iommu)
|
||||
mmu = 1;
|
||||
|
@ -195,7 +195,7 @@ static inline int need_iommu(struct device *dev, unsigned long addr, size_t size
|
|||
static inline int nonforced_iommu(struct device *dev, unsigned long addr, size_t size)
|
||||
{
|
||||
u64 mask = *dev->dma_mask;
|
||||
int high = addr + size >= mask;
|
||||
int high = addr + size > mask;
|
||||
int mmu = high;
|
||||
return mmu;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue