From: Manfred Spraul I found one tasklist corruption that might explain some (but not all) slab corruption messages with the taskstruct_cache: de_thread calls list_del(¤t->tasks), but current->tasks was never added to the task list. The structure contains stale values from the parent. I've added the attached debug check, and it oopsed in de_thread. Unfortunately I know that at least one report was with glibc-2.2.5 :-( 25-akpm/fs/exec.c | 1 - 1 files changed, 1 deletion(-) diff -puN fs/exec.c~de_thread-fix fs/exec.c --- 25/fs/exec.c~de_thread-fix Fri Apr 25 14:42:02 2003 +++ 25-akpm/fs/exec.c Fri Apr 25 14:42:02 2003 @@ -673,7 +673,6 @@ static inline int de_thread(struct task_ __ptrace_link(current, parent); } - list_del(¤t->tasks); list_add_tail(¤t->tasks, &init_task.tasks); current->exit_signal = SIGCHLD; state = leader->state; _