Revision a98fdcef941e107eeabae622d85a1f476f25a160 authored by Oleg Nesterov on 14 January 2008, 21:02:37 UTC, committed by Linus Torvalds on 14 January 2008, 21:23:00 UTC
Commit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns)
moved the task_tgid_nr_ns(task->real_parent) outside of lock_task_sighand().
This is wrong, ->real_parent could be freed/reused.

Both ->parent/real_parent point to nothing after __exit_signal() because
we remove the child from ->children list, and thus the child can't be
reparented when its parent exits.

rcu_read_lock() protects ->parent/real_parent, but _only_ if we know it was
valid before we take rcu lock.

Revert this part of the patch.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 4fd3670
History
File Mode Size
Kconfig -rw-r--r-- 5.8 KB
Makefile -rw-r--r-- 1.1 KB
allocpercpu.c -rw-r--r-- 3.6 KB
backing-dev.c -rw-r--r-- 2.0 KB
bootmem.c -rw-r--r-- 12.0 KB
bounce.c -rw-r--r-- 6.4 KB
fadvise.c -rw-r--r-- 2.6 KB
filemap.c -rw-r--r-- 67.7 KB
filemap_xip.c -rw-r--r-- 10.1 KB
fremap.c -rw-r--r-- 6.1 KB
highmem.c -rw-r--r-- 8.1 KB
hugetlb.c -rw-r--r-- 30.7 KB
internal.h -rw-r--r-- 1.3 KB
madvise.c -rw-r--r-- 9.5 KB
memory.c -rw-r--r-- 73.5 KB
memory_hotplug.c -rw-r--r-- 14.0 KB
mempolicy.c -rw-r--r-- 51.1 KB
mempool.c -rw-r--r-- 9.0 KB
migrate.c -rw-r--r-- 22.8 KB
mincore.c -rw-r--r-- 5.7 KB
mlock.c -rw-r--r-- 5.6 KB
mmap.c -rw-r--r-- 57.8 KB
mmzone.c -rw-r--r-- 750 bytes
mprotect.c -rw-r--r-- 7.4 KB
mremap.c -rw-r--r-- 10.8 KB
msync.c -rw-r--r-- 2.4 KB
nommu.c -rw-r--r-- 33.1 KB
oom_kill.c -rw-r--r-- 13.2 KB
page-writeback.c -rw-r--r-- 34.7 KB
page_alloc.c -rw-r--r-- 123.8 KB
page_io.c -rw-r--r-- 3.4 KB
page_isolation.c -rw-r--r-- 3.4 KB
pdflush.c -rw-r--r-- 6.4 KB
prio_tree.c -rw-r--r-- 6.3 KB
quicklist.c -rw-r--r-- 2.3 KB
readahead.c -rw-r--r-- 13.3 KB
rmap.c -rw-r--r-- 26.5 KB
shmem.c -rw-r--r-- 65.2 KB
shmem_acl.c -rw-r--r-- 4.6 KB
slab.c -rw-r--r-- 115.2 KB
slob.c -rw-r--r-- 15.0 KB
slub.c -rw-r--r-- 96.8 KB
sparse-vmemmap.c -rw-r--r-- 4.2 KB
sparse.c -rw-r--r-- 10.2 KB
swap.c -rw-r--r-- 13.3 KB
swap_state.c -rw-r--r-- 9.4 KB
swapfile.c -rw-r--r-- 43.9 KB
thrash.c -rw-r--r-- 2.0 KB
tiny-shmem.c -rw-r--r-- 3.1 KB
truncate.c -rw-r--r-- 12.9 KB
util.c -rw-r--r-- 2.7 KB
vmalloc.c -rw-r--r-- 19.1 KB
vmscan.c -rw-r--r-- 53.0 KB
vmstat.c -rw-r--r-- 19.7 KB

back to top