Files
linux/drivers
David Woodhouse fd18de50b9 intel-iommu: PAE memory corruption fix
PAGE_MASK is 0xFFFFF000 on i386 -- even with PAE.

So it's not sufficient to ensure that you use phys_addr_t or uint64_t
everywhere you handle physical addresses -- you also have to avoid using
the construct 'addr & PAGE_MASK', because that will strip the high 32
bits of the address.

This patch avoids that problem by using PHYSICAL_PAGE_MASK instead of
PAGE_MASK where appropriate. It leaves '& PAGE_MASK' in a few instances
that don't matter -- where it's being used on the virtual bus addresses
we're dishing out, which are 32-bit anyway.

Since PHYSICAL_PAGE_MASK is not present on other architectures, we have
to define it (to PAGE_MASK) if it's not already defined.

Maybe it would be better just to fix PAGE_MASK for i386/PAE?

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-11 07:51:01 -07:00
..
2009-04-28 20:24:20 +02:00
2009-04-21 13:41:51 -07:00
2009-04-05 00:32:25 +02:00
2009-05-06 16:36:10 -07:00
2009-04-21 13:41:50 -07:00
2009-04-14 19:46:19 -07:00
2009-05-09 10:49:42 -04:00
2009-04-21 13:41:49 -07:00
2009-04-05 00:32:22 +02:00