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
..
accessibility
acpi acpica: validate package element more carefully in acpi_rs_get_pci_routing_table_length 2009-05-02 11:48:37 -07:00
amba
ata
atm
auxdisplay
base Revert driver core: move platform_data into platform_device 2009-05-08 19:22:21 -07:00
block hd: fix locking 2009-04-28 20:24:20 +02:00
bluetooth
cdrom
char random: make get_random_int() more random 2009-05-07 11:59:06 -07:00
clocksource clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
connector
cpufreq
cpuidle
crypto
dca
dio
dma
edac edac: ppc mpc85xx fix mc err detect 2009-04-21 13:41:51 -07:00
eisa
firewire
firmware ibft: fix the display of a few fields in the NIC attribute structure in sysfs 2009-05-02 15:36:10 -07:00
gpio
gpu Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-05-05 17:02:05 -07:00
hid HID: fix oops in hid_check_keys_pressed() 2009-05-02 00:02:57 +02:00
hwmon hwmon: (w83781d) Fix W83782D support (NULL pointer dereference) 2009-05-08 20:27:28 +02:00
i2c i2c-algo-pca: Let PCA9564 recover from unacked data byte (state 0x30) 2009-05-05 08:39:25 +02:00
ide ide-cd: fix REQ_QUIET tests in cdrom_decode_status 2009-04-30 18:24:34 +02:00
idle
ieee1394
infiniband Fix deadlock in ipathfs ->get_sb() 2009-05-09 10:49:40 -04:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-05-02 16:35:45 -07:00
isdn Fix the race between capifs remount and node creation 2009-05-09 10:51:34 -04:00
leds
lguest
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2009-04-24 08:16:05 -07:00
mca
md md: remove rd%d links immediately after stopping an array. 2009-05-07 12:51:06 +10:00
media V4L/DVB (11680): cafe_ccic: use = instead of == for setting a value at a var 2009-05-09 18:54:32 -03:00
memstick
message scsi: mpt: suppress debugobjects warning 2009-04-21 13:41:50 -07:00
mfd
misc isl29003: fix resume functionality 2009-05-06 16:36:10 -07:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2009-05-05 08:23:16 -07:00
mtd Convert obvious places to deactivate_locked_super() 2009-05-09 10:49:40 -04:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-10 10:46:45 -07:00
nubus
of
oprofile
parisc
parport
pci intel-iommu: PAE memory corruption fix 2009-05-11 07:51:01 -07:00
pcmcia [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config 2009-04-23 23:25:40 +01:00
platform Merge branch 'sony-laptop' into release 2009-04-24 01:34:52 -04:00
pnp
power
ps3
rapidio
regulator regulator: Fix default constraints for fixed voltage regulators 2009-04-28 18:58:08 +01:00
rtc rtc-cmos: fix printk output 2009-04-21 13:41:50 -07:00
s390 [SCSI] zfcp: Fix oops when port disappears 2009-04-27 10:07:37 -05:00
sbus
scsi Reduce path_lookup() abuses 2009-05-09 10:49:42 -04:00
serial Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-05-07 10:54:32 -07:00
sh
sn
spi spi: pxa2xx: limit reaches -1 2009-04-21 13:41:49 -07:00
ssb
staging Staging: comedi: David doesn't want to get comedi patches 2009-05-08 19:39:28 -07:00
tc
telephony
thermal
uio
usb usb-serial: ftdi_sio: fix reference counting of ftdi_private 2009-05-08 19:34:57 -07:00
uwb
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-05-07 10:54:32 -07:00
virtio
w1
watchdog [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
xen [IA64] xen_domu_defconfig: fix build issues/warnings 2009-05-05 11:43:13 -07:00
zorro
Kconfig
Makefile V4L/DVB (11561a): move media after i2c 2009-04-29 15:41:13 -03:00