linux/include/asm-powerpc
Michael S. Tsirkin f822566165 [PATCH] madvise MADV_DONTFORK/MADV_DOFORK
Currently, copy-on-write may change the physical address of a page even if the
user requested that the page is pinned in memory (either by mlock or by
get_user_pages).  This happens if the process forks meanwhile, and the parent
writes to that page.  As a result, the page is orphaned: in case of
get_user_pages, the application will never see any data hardware DMA's into
this page after the COW.  In case of mlock'd memory, the parent is not getting
the realtime/security benefits of mlock.

In particular, this affects the Infiniband modules which do DMA from and into
user pages all the time.

This patch adds madvise options to control whether memory range is inherited
across fork.  Useful e.g.  for when hardware is doing DMA from/into these
pages.  Could also be useful to an application wanting to speed up its forks
by cutting large areas out of consideration.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Acked-by: Hugh Dickins <hugh@veritas.com>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-14 16:09:34 -08:00
..
iseries [PATCH] powerpc: iSeries fixes for build with no PCI 2006-01-12 20:09:30 +11:00
8253pit.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
a.out.h [PATCH] powerpc: Merge include/asm-ppc*/a.out.h into include/asm-powerpc 2005-09-21 19:21:08 +10:00
abs_addr.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
agp.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
asm-compat.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
atomic.h [PATCH] powerpc: reformat atomic_add_unless 2006-01-13 21:18:54 +11:00
auxvec.h [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
backlight.h powerpc: Merged asm/backlight.h 2005-10-11 09:59:38 +10:00
bitops.h [PATCH] powerpc: use lwsync in atomics, bitops, lock functions 2006-01-13 21:18:50 +11:00
bootx.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
btext.h [PATCH] powerpc: Unify udbg (#2) 2006-01-09 14:49:54 +11:00
bug.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
bugs.h [PATCH] powerpc: Make check_bugs() static inline 2005-09-09 22:11:35 +10:00
byteorder.h [PATCH] powerpc: merge byteorder.h 2005-09-28 15:42:53 +10:00
cache.h [PATCH] Kill L1_CACHE_SHIFT_MAX 2006-01-08 20:13:39 -08:00
cacheflush.h [PATCH] powerpc: Merge cacheflush.h and cache.h 2005-11-10 13:09:22 +11:00
checksum.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
compat.h [PATCH] powerpc signal __user annotations 2006-02-08 01:03:46 -05:00
cputable.h [PATCH] powerpc: oprofile cpu type names clash with other code 2006-01-14 11:12:16 +11:00
cputime.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
current.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
dbdma.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
delay.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
div64.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
dma-mapping.h [PATCH] remove bogus asm/bug.h includes. 2006-02-07 20:56:35 -05:00
dma.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
eeh.h [PATCH] powerpc: PCI Error Recovery: PPC64 core recovery routines 2006-01-10 15:28:32 +11:00
eeh_event.h [PATCH] powerpc: PCI Error Recovery: PPC64 core recovery routines 2006-01-10 15:28:32 +11:00
elf.h powerpc: Provide a suitable AT_PLATFORM value 2006-01-14 10:11:39 +11:00
emergency-restart.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
errno.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
fcntl.h [PATCH] Consolidate the asm-ppc*/fcntl.h files into asm-powerpc 2005-09-07 16:57:39 -07:00
firmware.h [PATCH] powerpc: Create a trampoline for the fwnmi vectors 2006-01-09 14:52:17 +11:00
floppy.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
futex.h [PATCH] powerpc: use lwsync in atomics, bitops, lock functions 2006-01-13 21:18:50 +11:00
grackle.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
hardirq.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
heathrow.h powerpc: Fix some #ifndef __KERNEL__ that should be #ifdef 2006-01-09 15:14:05 +11:00
hvcall.h [PATCH] powerpc: Add some more pSeries hypervisor call constants 2006-01-13 20:56:38 +11:00
hvconsole.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
hvcserver.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
hw_irq.h ppc64: remove ppc_irq_dispatch_handler 2005-11-09 16:19:53 +11:00
i8259.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
ibmebus.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
ide.h powerpc: merge ide.h 2005-11-08 12:20:34 +11:00
io.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
ioctl.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
ioctls.h powerpc: remove duplicate ioctl definitions 2005-11-01 14:36:30 +11:00
iommu.h [PATCH] powerpc: clean up iommu.h a bit 2006-01-12 20:09:30 +11:00
ipc.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
ipcbuf.h [PATCH] powerpc: Keep fixing merged ipcbuf.h 2005-11-03 16:58:17 +11:00
ipic.h [PATCH] powerpc: moved ipic code to arch/powerpc 2006-01-09 14:48:57 +11:00
irq.h [PATCH] ppc32: fix PQ2 PCI DMA interrupt handling 2005-11-11 22:19:56 +11:00
kdebug.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
kdump.h [PATCH] powerpc: Reroute interrupts from 0 + offset to PHYSICAL_START + offset 2006-01-09 14:52:21 +11:00
kexec.h [PATCH] powerpc: fix for kexec ppc32 2006-02-01 08:53:19 -08:00
keylargo.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
kmap_types.h [PATCH] powerpc: Merge kmap_types.h 2005-09-19 09:38:49 +10:00
kprobes.h [PATCH] kprobes: fix build breakage 2006-01-10 08:01:40 -08:00
linkage.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
lmb.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
local.h [PATCH] Move all the very similar files to asm-powerpc 2005-08-30 13:32:06 +10:00
lppaca.h [PATCH] Fix sparse parse error in lppaca.h 2006-01-17 17:18:25 -08:00
machdep.h [PATCH] cell: enable pause(0) in cpu_idle 2006-01-09 15:44:32 +11:00
macio.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
mc146818rtc.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
mediabay.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
mman.h [PATCH] madvise MADV_DONTFORK/MADV_DOFORK 2006-02-14 16:09:34 -08:00
mmu.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
mmu_context.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
mmzone.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
module.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
mpic.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
msgbuf.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
numnodes.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
nvram.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
of_device.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
ohare.h powerpc: Fix some #ifndef __KERNEL__ that should be #ifdef 2006-01-09 15:14:05 +11:00
oprofile_impl.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
pSeries_reconfig.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
paca.h [PATCH] powerpc: Remove lppaca structure from the PACA 2006-01-13 21:17:39 +11:00
page.h powerpc/32: Fix compile error caused by pud_t/pgt_t confusion 2006-01-11 16:27:21 +11:00
page_32.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
page_64.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
param.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
parport.h [PATCH] powerpc: parallel port init fix 2006-01-11 14:49:24 +11:00
pci-bridge.h [PATCH] powerpc: small pci cleanups 2006-01-12 20:09:30 +11:00
pci.h [PATCH] powerpc: make pcibios_claim_one_bus available to other code 2006-01-09 14:51:08 +11:00
percpu.h [PATCH] powerpc/64: per cpu data optimisations 2006-01-11 14:49:45 +11:00
pgalloc.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
pgtable-4k.h powerpc: Trivially merge several headers from asm-ppc64 to asm-powerpc 2005-11-19 20:17:32 +11:00
pgtable-64k.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
pgtable.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
pmac_feature.h [PATCH] 3/5 powerpc: Add platform functions interpreter 2006-01-09 15:47:18 +11:00
pmac_low_i2c.h [PATCH] 3/5 powerpc: Add platform functions interpreter 2006-01-09 15:47:18 +11:00
pmac_pfunc.h [PATCH] powerpc: enable irq's for platform functions. 2006-02-01 08:53:10 -08:00
pmc.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
poll.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
posix_types.h [PATCH] powerpc: Merge asm-ppc*/posix_types.h 2005-09-21 19:21:07 +10:00
ppc-pci.h [PATCH] powerpc: Save device BARs much earlier in the boot sequence 2006-01-10 15:30:39 +11:00
ppc_asm.h [PATCH] powerpc: Cleanup LOADADDR etc. asm macros 2006-01-13 21:16:23 +11:00
processor.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
prom.h [PATCH] powerpc: Don't overwrite flat device tree with kdump kernel 2006-02-07 21:32:44 +11:00
ptrace.h [PATCH] syscall entry/exit revamp 2006-01-09 14:49:01 +11:00
reg.h [PATCH] cell: enable pause(0) in cpu_idle 2006-01-09 15:44:32 +11:00
reg_8xx.h [PATCH] powerpc: Merge cacheflush.h and cache.h 2005-11-10 13:09:22 +11:00
resource.h [PATCH] Move all the very similar files to asm-powerpc 2005-08-30 13:32:06 +10:00
rtas.h [PATCH] powerpc: Make early debugging configurable via Kconfig 2006-01-11 14:48:26 +11:00
rtc.h powerpc: Make set_rtc_time() return error code from lower-level function 2005-10-22 15:57:55 +10:00
rwsem.h Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
scatterlist.h [PATCH] powerpc: merge scatterlist.h 2005-10-27 16:45:52 +10:00
seccomp.h powerpc: Fix some #ifndef __KERNEL__ that should be #ifdef 2006-01-09 15:14:05 +11:00
sections.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
semaphore.h Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
sembuf.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
serial.h powerpc: Introduce a new config symbol to control 16550 early debug code 2006-01-10 16:19:05 +11:00
setup.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
shmbuf.h [PATCH] powerpc: Fix __power64__ typos that should be __powerpc64__ 2005-09-09 22:11:35 +10:00
shmparam.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
sigcontext.h powerpc: merge sigcontext.h 2005-11-03 16:24:25 +11:00
siginfo.h [PATCH] ppc64: Add definitions for new PTRACE calls 2005-09-12 17:19:12 +10:00
signal.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
smp.h powerpc: Various UP build fixes 2005-11-07 13:18:13 +11:00
smu.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00
socket.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
sockios.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
sparsemem.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
spinlock.h [PATCH] powerpc: use lwsync in atomics, bitops, lock functions 2006-01-13 21:18:50 +11:00
spinlock_types.h [PATCH] powerpc: merge include/asm-ppc*/spinlock_types.h into include/asm-powerpc/spinlock_types.h 2005-09-21 19:21:09 +10:00
spu.h [PATCH] spufs: set irq affinity for running threads 2006-01-09 15:44:57 +11:00
spu_csa.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
sstep.h powerpc: Make single-stepping emulation (mostly) usable on 32-bit 2005-10-28 22:48:08 +10:00
stat.h powerpc: merge stat.h 2005-11-03 16:02:23 +11:00
statfs.h [PATCH] powerpc: merge include/asm-ppc*/statfs.h into include/asm-powerpc/statfs.h 2005-09-21 19:21:10 +10:00
string.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
synch.h [PATCH] powerpc: use lwsync in atomics, bitops, lock functions 2006-01-13 21:18:50 +11:00
system.h [PATCH] powerpc: use lwsync in atomics, bitops, lock functions 2006-01-13 21:18:50 +11:00
tce.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
termbits.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
termios.h powerpc: use asm-generic/termios.h 2005-11-01 14:36:55 +11:00
thread_info.h [PATCH] __user annotations in powerpc thread_info 2006-02-08 01:04:36 -05:00
time.h [PATCH] powerpc: Remove lppaca structure from the PACA 2006-01-13 21:17:39 +11:00
timex.h [PATCH] ppc32: Fix timekeeping 2005-10-12 08:24:47 -07:00
tlb.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
tlbflush.h [PATCH] ppc64: support 64k pages 2005-11-06 16:56:47 -08:00
topology.h [PATCH] scheduler cache-hot-autodetect 2006-01-12 09:08:50 -08:00
types.h [PATCH] ppc64: make dma_addr_t 64 bits 2005-10-27 16:45:50 +10:00
uaccess.h [PATCH] powerpc: Consolidate asm compatibility macros 2005-11-10 13:10:38 +11:00
ucontext.h powerpc: merge ucontext.h 2005-11-03 16:59:17 +11:00
udbg.h [PATCH] powerpc: Make early debugging configurable via Kconfig 2006-01-11 14:48:26 +11:00
unaligned.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
uninorth.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
unistd.h [PATCH] powerpc: unshare system call registration 2006-02-10 16:34:54 +11:00
user.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
vdso.h [PATCH] powerpc: Make the vDSO functions set error code (#2) 2005-11-16 14:05:11 +11:00
vdso_datapage.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
vga.h [PATCH] powerpc: Merge asm-ppc*/vga.h 2005-09-21 19:21:09 +10:00
vio.h [PATCH] powerpc: sanitize header files for user space includes 2006-01-09 15:13:08 +11:00
xmon.h powerpc: Simplify and clean up the xmon terminal I/O 2005-11-08 22:55:08 +11:00
xor.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00