Eric W. Biederman
260ea10132
[PATCH] ptrace: document the locking rules
...
After a lot of reading the code and thinking about how it behaves I have
managed to figure out what the current ptrace locking rules are. The
current code is in much better that it appears at first glance. The
troublesome code paths are actually the code paths that violate the current
rules.
ptrace uses simple exclusive access as it's locking. You can only touch
task->ptrace if the task is stopped and you are the ptracer, or if the task
is running and are the task itself.
Very simple, very easy to maintain. It just needs to be documented so
people know not to touch ptrace from elsewhere.
Currently we do have a few pieces of code that are in violation of this
rule. Particularly the core dump code, and ptrace_attach. But so far the
code looks fixable.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-23 07:43:03 -07:00
..
acpi
[PATCH] Unify pxm_to_node() and node_to_pxm()
2006-06-23 07:42:48 -07:00
asm-alpha
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-arm
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
2006-06-22 22:46:28 -07:00
asm-arm26
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-cris
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-frv
[PATCH] frv: clean frv unistd.h
2006-06-23 07:42:55 -07:00
asm-generic
[PATCH] squash duplicate page_to_pfn and pfn_to_page
2006-06-23 07:42:47 -07:00
asm-h8300
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-i386
[PATCH] x86: compile fix for asm-i386/alternatives.h
2006-06-23 07:42:59 -07:00
asm-ia64
[PATCH] page migration: sys_move_pages(): support moving of individual pages
2006-06-23 07:42:53 -07:00
asm-m32r
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-m68k
[PATCH] m68k: clean up uaccess.h
2006-06-23 07:43:01 -07:00
asm-m68knommu
[PATCH] m68k: ptrace.h typo fix
2006-06-23 07:43:01 -07:00
asm-mips
[PATCH] Au1550/1200: add missing PSC #define's, make OSS driver use the proper ones
2006-06-23 07:42:56 -07:00
asm-parisc
[PATCH] Delete unused definitions of kvaddr_to_nid
2006-06-23 07:42:52 -07:00
asm-powerpc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2006-06-22 22:11:30 -07:00
asm-ppc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2006-06-22 22:11:30 -07:00
asm-s390
[PATCH] s390: add __raw_writeq required by __iowrite64_copy
2006-06-20 19:55:53 -07:00
asm-sh
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-sh64
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-sparc
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
2006-06-20 17:39:28 -07:00
asm-sparc64
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-um
Merge git://git.infradead.org/hdrcleanup-2.6
2006-06-20 15:10:08 -07:00
asm-v850
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-x86_64
[PATCH] sys_move_pages: x86_64 support
2006-06-23 07:42:53 -07:00
asm-xtensa
[PATCH] xtensa: remove verify_area macros
2006-06-23 07:43:02 -07:00
keys
linux
[PATCH] ptrace: document the locking rules
2006-06-23 07:43:03 -07:00
math-emu
media
Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)
2006-05-06 19:47:57 +01:00
mtd
Merge git://git.infradead.org/hdrcleanup-2.6
2006-06-20 15:10:08 -07:00
net
Merge branch 'master' into upstream
2006-06-22 22:51:46 -04:00
pcmcia
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
rdma
IB/uverbs: Don't serialize with ib_uverbs_idr_mutex
2006-06-17 20:44:49 -07:00
rxrpc
scsi
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2006-06-21 11:18:25 -07:00
sound
[ALSA] version 1.0.12rc1
2006-06-22 21:35:11 +02:00
video
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00