From: nathan_at_0x00.org
Date: Thu 18 Dec 2003 - 22:09:10 GMT
Hey,
I am testing v1.22 with 2.4.23. I am getting an oops in fs/proc/array.c:proc_pid_status
I believe the offending code is:
buffer += sprintf (buffer,"s_context: %d [", task->vx_id);
for (i=0; i<NB_S_CONTEXT; i++) {
int ctx = task->s_info->vx_id[i];
if (ctx == 0)
break;
buffer += sprintf (buffer," %d",ctx);
}
The oops is occuring on line 3 of that code. I believe the problem is due to lack of adequate locking around the block of code.
Should there be some read locking code around this block?
I am going to wrap the block that accesses the s_info structure around a read_lock()/unlock of tasklist_lock and see if I can stabilize the machine.
Let me know if anyone else has any insight into this.
Thanks.
-Nathan
_______________________________________________
Vserver mailing list
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver