Re: mm: slub: gpf in deactivate_slab

From: Sasha Levin
Date: Tue Mar 25 2014 - 20:18:19 EST


On 03/25/2014 02:10 PM, Christoph Lameter wrote:
On Tue, 25 Mar 2014, Sasha Levin wrote:

So here's the full trace. There's obviously something wrong here since we
pagefault inside the section that was supposed to be running with irqs
disabled
and I don't see another cause besides this.

The unreliable entries in the stack trace also somewhat suggest that the
fault is with the code I've pointed out.

Looks like there was some invalid data fed to the function and the page
fault with interrupts disabled is the result of following and invalid
pointer.

Is there more context information available? What are the options set for
the cache that the operation was performed on?

It seems like it's a regular allocation from the inode_cachep kmem_cache:

inode = kmem_cache_alloc(inode_cachep, GFP_KERNEL);

I'm not sure if there's anything special about this cache, codewise it's
created as follows:


inode_cachep = kmem_cache_create("inode_cache",
sizeof(struct inode),
0,
(SLAB_RECLAIM_ACCOUNT|SLAB_PANIC|
SLAB_MEM_SPREAD),
init_once);


I'd be happy to dig up any other info required, I'm just not too sure
what you mean by options for the cache?


Thanks,
Sasha
--
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/