linux/include
Alan Cox 9d793b0bcb i2o: Fix 32/64bit DMA locking
The I2O ioctls assume 32bits.  In itself that is fine as they are old
cards and nobody uses 64bit.  However on LKML it was noted this
assumption is also made for allocated memory and is unsafe on 64bit
systems.

Fixing this is a mess.  It turns out there is tons of crap buried in a
header file that does racy 32/64bit filtering on the masks.

So we:
- Verify all callers of the racy code can sleep (i2o_dma_[re]alloc)
- Move the code into a new i2o/memory.c file
- Remove the gfp_mask argument so nobody can try and misuse the function
- Wrap a mutex around the problem area (a single mutex is easy to do and
  none of this is performance relevant)
- Switch the remaining problem kmalloc holdout to use i2o_dma_alloc

Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
Cc: Vasily Averin <vvs@sw.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-16 11:21:38 -07:00
..
acpi include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
asm-arm [ARM] 5191/1: ARM: remove CVS keywords 2008-08-16 20:01:18 +01:00
asm-cris Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
asm-frv FRV: Provide ioremap_wc() for FRV 2008-08-20 13:19:52 -07:00
asm-generic include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
asm-h8300 h8300: update timer handler - new files 2008-10-16 11:21:29 -07:00
asm-m32r Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
asm-m68k m68k: remove the dead PCI code 2008-10-14 10:23:27 -07:00
asm-mn10300 MN10300: Supply ioremap_wc() for MN10300 2008-08-20 13:19:51 -07:00
asm-parisc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
asm-um net: Fix build with ARCH=um 2008-09-19 12:44:54 -07:00
asm-x86 x86: rename iommu_num_pages function to iommu_nr_pages 2008-10-16 11:21:33 -07:00
asm-xtensa Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
crypto crypto: rng - RNG interface and implementation 2008-08-29 15:50:04 +10:00
drm
keys
linux i2o: Fix 32/64bit DMA locking 2008-10-16 11:21:38 -07:00
math-emu math-emu: Add support for reporting exact invalid exception 2008-09-16 10:01:37 -05:00
media include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
mtd
net include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
pcmcia pcmcia: ioctl-internal definitions 2008-08-31 16:00:42 +02:00
rdma
rxrpc
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-10 10:53:26 -07:00
sound Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2008-10-13 14:03:59 -07:00
video include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
xen xen: remove unused balloon.h 2008-10-03 10:04:10 +02:00
Kbuild