Msg05630.html: Difference between revisions

From Linix VServer
Jump to navigationJump to search
(Restored content from Wayback Machine)
 
(No difference)

Latest revision as of 23:05, 10 November 2025


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Vserver] SMP oops 2.4.23 v1.22[edit]


  • From: nathan
  • Date: Thu, 18 Dec 2003 23:04:24 +0100 (CET)



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