Messages in this thread | | | Date | Thu, 13 Nov 2008 18:53:57 +0100 | From | Manfred Spraul <> | Subject | Re: [PATCH] SYSVIPC - Fix the ipc structures initialization |
| |
Nadia Derbey wrote: > That's what the patch I sent at the beginning of this thread > (http://lkml.org/lkml/2008/10/28/177) fixes: the ipc structure is not > completely initialized before being inserted in the tree. > > The patched kernel has been running for 4 days on my victim without any > problem, but Clement is still facing a problem (that comes later). > > I think this patch should be included anyways, because ipc structures > initialization is not correct the way it is done today. > > Definitively: Your patch belongs into 2.6.28 and the next 2.6.27.
> I'm still reviewing the code to see what else could be wrong. > I started looking into the idr code: perhaps idr returns a stale entry? A race somewhere in the RCU code. I.e. the new bug is not corruption due to access before spin_lock_init(), but due to access after kfree()?
Clement: Could you send us an ipcs output from before the test? Do you have any sysv msg queues on your system? And: Do you use PREEMPT, do you use PREEMPT_RCU?
If there are no message queues around, then every msgget()/IPC_RMID will create a new idr layer/tear the layer down again.
-- Manfred
| |