Accessing freed memory is a bug, always, not just *only* when slab
debugging is on, right? Doesn't this mean we could get junk, or that
the reader could potentially run off a bad pointer?
no, read the comment in sys_getppid.
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.
Actually, it might also be invalid in hypervisor environments. s390 and
Xen use ballooning drivers to tell the hypervisor which pages are not
currently in use by the OS so that they may be used in virtual machines
elsewhere.
I'm cc'ing the s390 guys. Will the s390 kernel oops if it accesses a
page which was ballooned back to the hypervisor?