Re: [PATCH] Fixed an off-by-one error in the AMD IOMMU driver.

From: Roedel, Joerg
Date: Thu May 14 2009 - 09:54:22 EST


On Thu, May 14, 2009 at 02:00:35PM +0100, Neil Turton wrote:
> 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.
>
> Signed-off-by: Neil Turton <nturton@xxxxxxxxxxxxxx>
> ---
> arch/x86/kernel/amd_iommu_init.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
> index 42c33ce..61479ba 100644
> --- a/arch/x86/kernel/amd_iommu_init.c
> +++ b/arch/x86/kernel/amd_iommu_init.c
> @@ -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;
> }

Applied, thanks Neil.

--
| Advanced Micro Devices GmbH
Operating | Karl-Hammerschmidt-Str. 34, 85609 Dornach bei München
System |
Research | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni
Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
| Registergericht München, HRB Nr. 43632

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/