Messages in this thread | | | From | Johannes Weiner <> | Subject | Re: [PATCH] coredump: kill mm->core_done | Date | Sun, 20 Jul 2008 13:35:57 +0200 |
| |
Hi,
Oleg Nesterov <oleg@tv-sign.ru> writes:
> On 07/20, Johannes Weiner wrote: >> >> Oleg Nesterov <oleg@tv-sign.ru> writes: >> >> > --- 26-rc2/kernel/exit.c~5_KILL_CORE_DONE 2008-07-13 19:58:19.000000000 +0400 >> > +++ 26-rc2/kernel/exit.c 2008-07-15 17:06:58.000000000 +0400 >> > @@ -680,7 +680,13 @@ static void exit_mm(struct task_struct * >> > if (atomic_dec_and_test(&core_state->nr_threads)) >> > complete(&core_state->startup); >> > >> > - wait_for_completion(&mm->core_done); >> > + for (;;) { >> > + set_task_state(tsk, TASK_UNINTERRUPTIBLE); >> > + if (!self.task) /* see coredump_finish() */ >> >> kernel/exit.c: In function `exit_mm': >> kernel/exit.c:686: error: `self' undeclared (first use in this function) >> kernel/exit.c:686: error: (Each undeclared identifier is reported only once >> kernel/exit.c:686: error: for each function it appears in.) >> make[1]: *** [kernel/exit.o] Error 1 > > This is on top of other patches in -mm tree, > > coredump-zap_threads-comments-use-while_each_thread.patch > introduce-pf_kthread-flag.patch > kill-pf_borrowed_mm-in-favour-of-pf_kthread.patch > coredump-zap_threads-must-skip-kernel-threads.patch > coredump-elf_core_dump-skip-kernel-threads.patch > coredump-turn-mm-core_startup_done-into-the-pointer-to-struct-core_state.patch > coredump-move-mm-core_waiters-into-struct-core_state.patch > coredump-simplify-core_state-nr_threads-calculation.patch > coredump-turn-core_state-nr_threads-into-atomic_t.patch > coredump-make-mm-core_state-visible-to-core_dump.patch > coredump-construct-the-list-of-coredumping-threads-at-startup-time.patch > coredump-elf_core_dump-use-core_state-dumper-list.patch > coredump-elf_fdpic_core_dump-use-core_state-dumper-list.patch > coredump-kill-mm-core_done.patch
Sorry, I should have given more information.
I was building -mm directly with all these patches applied. I did not cherry-pick this exact patch into some other tree.
But I still can not find anything defining `self' in these patches:
$ grep self coredump-*.patch \ introduce-pf_kthread-flag.patch \ kill-pf_borrowed_mm-in-favour-of-pf_kthread.patch coredump-kill-mm-core_done.patch:+ if (!self.task) /* see coredump_finish() */
cscope finds some other definitions of self in the tree, but nothing relevant.
Hannes
| |