lkml.org 
[lkml]   [2003]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: kernel BUG at kernel/exit.c:792!
Srivatsa Vaddagiri wrote:

> --- base.c 2003-10-26 00:13:57.000000000 +0530
>
>>+++ base.c.fix 2003-12-03 17:20:18.877679360 +0530
>>@@ -1669,7 +1669,7 @@
>> do {
>> int tid = task->pid;
>> if (!pid_alive(task))
>>- continue;
>>+ break;
>>
No, a break would be wrong: The test detects already dead tasks that are
still listed in the task list. If such a task is found, then it
shouldn't be listed in /proc/, but the readdir call should continue to
scan the task list.

But I don't understand the oops:
__exit_sighand clears current->sighand, and then in the next line
__unhash_process removes the thread from the task list. But that's under
write_lock_irq(&tasklist_lock), and get_tid_list runs under
read_lock(&tasklist_lock). It should be impossible that ->sighand is
NULL and the task is still listed in the task list.

--
Manfred

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:59    [W:0.455 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site