Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 421f909c authored by Neil Turton's avatar Neil Turton Committed by Joerg Roedel
Browse files

amd-iommu: fix an off-by-one error in the AMD IOMMU driver.



The variable amd_iommu_last_bdf holds the maximum bdf of any device
controlled by an IOMMU, so the number of device entries needed is
amd_iommu_last_bdf+1.  The function tbl_size used amd_iommu_last_bdf
instead.  This would be a problem if the last device were a large
enough power of 2.

[ Impact: fix amd_iommu_last_bdf off-by-one error ]

Signed-off-by: default avatarNeil Turton <nturton@solarflare.com>
Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
parent 41fb454e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ static inline void update_last_devid(u16 devid)
static inline unsigned long tbl_size(int entry_size)
{
	unsigned shift = PAGE_SHIFT +
			 get_order(amd_iommu_last_bdf * entry_size);
			 get_order(((int)amd_iommu_last_bdf + 1) * entry_size);

	return 1UL << shift;
}