forked from luck/tmp_suning_uos_patched
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: Neil Turton <nturton@solarflare.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
41fb454ebe
commit
421f909c80
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user