Re: [PATCH] x86: amd_iommu: fix nasty bug that caused ILLEGAL_DEVICE_TABLE_ENTRY errors

Ingo Molnar
2008-10-20T16:06:25Z

* Joerg Roedel <joro@8bytes.org> wrote:

> Argh. Very stupid bug. This explains why it worked on my system with 1G
> RAM and failed on some others with more. Thanks for the fix. I also CC
> stable@kernel.org.
>
> On Thu, Oct 16, 2008 at 04:27:36PM +0200, Andreas Herrmann wrote:
> > We are on 64-bit so better use u64 instead of u32 to deal with
> > addresses:
> >
> > static void __init iommu_set_device_table(struct amd_iommu *iommu)
> > {
> > u64 entry;
> > ...
> > entry = virt_to_phys(amd_iommu_dev_table);
> > ...
> >
> > (I am wondering why gcc 4.2.x did not warn about the assignment
> > between u32 and unsigned long.)
> >
> > Cc: iommu@lists.linux-foundation.org
> > Cc: Joerg Roedel <joerg.roedel@amd.com>
> > Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
>
> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

applied to tip/x86/urgent, thanks guys!

Ingo