Re: [PATCH] sys_getppid oopses on debug kernel
From: Kirill Korotaev
Date: Tue Aug 08 2006 - 11:40:48 EST
Accessing freed memory is a bug, always, not just *only* when slabno, read the comment in sys_getppid.
debugging is on, right? Doesn't this mean we could get junk, or that
the reader could potentially run off a bad pointer?
It is a valid optimization. _safe_ and alowing to bypass taking the lock.
BUT! This optimization relies on the fact that kernel memory (DMA + normal zone)
is always mapped into virtual address space.
Which is invalid for debug kernels only.
It seems that this patch only papers over the problem in the case when
it is observed, but doesn't really even fix the normal case.
Could we use a seqlock to determine when real_parent is in flux, and
re-read real_parent until we get a consistent one? We could use in in
lieu of the existing for() loop.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/