Re: Oops in a driver while using SLUB as a SLAB allocator

From: Russell King
Date: Sun Jun 24 2007 - 04:39:46 EST


On Fri, Jun 22, 2007 at 07:39:33PM +0100, Hugh Dickins wrote:
> On Fri, 22 Jun 2007, Christoph Lameter wrote:
> >
> > Add VM_BUG_ON in case someone uses page_mapping on a slab page
> >
> > Detect slab objects being passed to the page oriented functions of the VM.
> >
> > It is not sufficient to simply return NULL because the functions calling
> > page_mapping may depend on other items of the page_struct also to be setup
> > properly. Moreover the slab object may not be properly aligned. The page
> > orientedfunctions of the VM expect to operate on page aligned, page sized
> > objects. operations on objects straddling page boundaries may only affect
> > the objects partially which may lead to surprising results.
> >
> > It is better to detect eventually remaining uses and eliminate them.
> >
> > Signed-off-by: Christoph Lameter <clameter@xxxxxxx>
>
> I'm quite happy with this approach for 2.6.23-rc, along with your ARM
> dma_map patch which (if I understood aright) rmk approved.

I didn't approve it. Please re-read my reply - there are still some
unanswered questions in it which _really_ need answering.

The report talks about the AT91 machines. These machines do not have
cache coherent DMA. Therefore, the code being patched should be
optimised away by the compiler. *Or* we have even bigger problems.

Please forward the original problem report.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
-
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/