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
a.out.h
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
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
byteorder.h
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
current.h
[PATCH] powerpc: sanitize header files for user space includes
2006-01-09 15:13:08 +11:00
dbdma.h
delay.h
[PATCH] powerpc: sanitize header files for user space includes
2006-01-09 15:13:08 +11:00
div64.h
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
errno.h
fcntl.h
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
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
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
kprobes.h
[PATCH] kprobes: fix build breakage
2006-01-10 08:01:40 -08:00
linkage.h
lmb.h
[PATCH] powerpc: sanitize header files for user space includes
2006-01-09 15:13:08 +11:00
local.h
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
mediabay.h
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
mutex.h
[PATCH] mutex subsystem, add default include/asm-*/mutex.h files
2006-01-09 15:59:19 -08:00
namei.h
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
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
posix_types.h
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
pSeries_reconfig.h
[PATCH] powerpc: sanitize header files for user space includes
2006-01-09 15:13:08 +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
rtas.h
[PATCH] powerpc: Make early debugging configurable via Kconfig
2006-01-11 14:48:26 +11:00
rtc.h
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
serial.h
powerpc: Introduce a new config symbol to control 16550 early debug code
2006-01-10 16:19:05 +11:00
setup.h
shmbuf.h
shmparam.h
sigcontext.h
powerpc: merge sigcontext.h
2005-11-03 16:24:25 +11:00
siginfo.h
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
sockios.h
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
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
string.h
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
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
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
uninorth.h
unistd.h
[PATCH] powerpc: unshare system call registration
2006-02-10 16:34:54 +11:00
user.h
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
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