On Sun, Mar 21, 2010 at 2:19 PM, John David Anglin <dave@xxxxxxxxxxxxxxxxxx> wrote: > I added an illegal instruction abort to the child. In this case, > the thread_run loop counter was 48085 when the page was copied and > the before value was zero. > > One thought that has crossed my mind is that the memory pages allocated > for the stack region used by the thread are somehow getting interchanged > between parent and child by the fork operation. This happens fairly > late as both the parent and thread are executing post fork at the time > this happens. Possibly, this is part of the bug. > > I have looked at entry.S and pacache.S quite a bit and it's not obvious > how this could happen, although I must admit to not fully understanding > the tmp alias code. I tend to think the bug is in the core mm code. > > I see a few cleanups to entry.S. We didn't kill the misnamed macros > (DEP, DEPI and EXTR) for example. But I don't think these are the problem. Dave, Thank you for another test case. I agree, I also think the bug is in the core mm code, which I am also trying to review and understand. I haven't been able to make much progress in this area though. I'll keep you updated when I spot something I think is wrong. Cheers, Carlos. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html