kernel_optimize_test/kernel
Peter Zijlstra bea493a031 [PATCH] rt-mutex: fixup rt-mutex debug code
BUG: warning at kernel/rtmutex-debug.c:125/rt_mutex_debug_task_free() (Not tainted)
 [<c04051e3>] show_trace_log_lvl+0x58/0x16a
 [<c04057f0>] show_trace+0xd/0x10
 [<c0405900>] dump_stack+0x19/0x1b
 [<c043f03d>] rt_mutex_debug_task_free+0x35/0x6a
 [<c04224c0>] free_task+0x15/0x24
 [<c042378c>] copy_process+0x12bd/0x1324
 [<c0423835>] do_fork+0x42/0x113
 [<c04021dd>] sys_fork+0x19/0x1b
 [<c0403fb7>] syscall_call+0x7/0xb

In copy_process(), dup_task_struct() also duplicates the ->pi_lock,
->pi_waiters and ->pi_blocked_on members.  rt_mutex_debug_task_free()
called from free_task() validates these members.  However free_task() can
be invoked before these members are reset for the new task.

Move the initialization code before the first bail that can hit free_task().

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-17 08:18:48 -07:00
..
irq [PATCH] genirq: clean up irq-flow-type naming 2006-10-17 08:18:45 -07:00
power [PATCH] swsusp: fix memory leaks 2006-10-17 08:18:44 -07:00
time [PATCH] i386 Time: Avoid PIT SMP lockups 2006-10-17 08:18:42 -07:00
.gitignore
acct.c
audit.c
audit.h
auditfilter.c
auditsc.c
capability.c
compat.c
configs.c
cpu.c
cpuset.c [PATCH] cpuset ANSI prototype 2006-10-10 15:37:23 -07:00
delayacct.c
dma.c
exec_domain.c
exit.c
extable.c
fork.c [PATCH] rt-mutex: fixup rt-mutex debug code 2006-10-17 08:18:48 -07:00
futex_compat.c [PATCH] __user annotations: futex 2006-10-10 15:37:22 -07:00
futex.c [PATCH] __user annotations: futex 2006-10-10 15:37:22 -07:00
hrtimer.c
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt
kexec.c
kfifo.c
kmod.c
kprobes.c
ksysfs.c
kthread.c
latency.c
lockdep_internals.h
lockdep_proc.c
lockdep.c [PATCH] lockdep: increase max allowed recursion depth 2006-10-17 08:18:42 -07:00
Makefile
module.c [PATCH] fix Module taint flags listing in Oops/panic 2006-10-11 11:14:21 -07:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
nsproxy.c
panic.c
params.c
pid.c
posix-cpu-timers.c [PATCH] posix-cpu-timers: prevent signal delivery starvation 2006-10-17 08:18:43 -07:00
posix-timers.c
printk.c [PATCH] lockdep: fix printk recursion logic 2006-10-11 11:14:24 -07:00
profile.c [PATCH] bitmap: parse input from kernel and user buffers 2006-10-11 11:14:22 -07:00
ptrace.c
rcupdate.c
rcutorture.c
relay.c [PATCH] make kernel/relay.c __user-clean 2006-10-10 15:37:22 -07:00
resource.c
rtmutex_common.h
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rwsem.c
sched.c [PATCH] sched: likely profiling 2006-10-11 11:14:22 -07:00
seccomp.c
signal.c
softirq.c
softlockup.c
spinlock.c
srcu.c
stacktrace.c
stop_machine.c
sys_ni.c [PATCH] fix epoll_pwait when EPOLL=n 2006-10-16 09:14:05 -07:00
sys.c
sysctl.c
taskstats.c
time.c
timer.c
tsacct.c
uid16.c
unwind.c
user.c
utsname.c
wait.c
workqueue.c [PATCH] mm: kevent threads: use MPOL_DEFAULT 2006-10-11 11:14:19 -07:00