lkml.org 
[lkml]   [2005]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Boot failure with slab debugging patch
David Howells <dhowells@redhat.com> wrote:
>
> This patch in 2.6.13-rc5-mm1:
>
> slab-leak-detector-give-longer-traces.patch
>
> Causes the kernel to die with an oops on my test box during boot (see
> attached), just about here, I think:
>
> static void inline *
> cache_alloc_debugcheck_after(kmem_cache_t *cachep,
> unsigned int __nocast flags, void *objp, void *caller)
> {
> if (!objp)
> return objp;
> if (cachep->flags & SLAB_POISON) {
> #ifdef CONFIG_DEBUG_PAGEALLOC
> if ((cachep->objsize % PAGE_SIZE) == 0 && OFF_SLAB(cachep))
> kernel_map_pages(virt_to_page(objp), cachep->objsize/PAGE_SIZE, 1);
> else
> check_poison_obj(cachep, objp);
> #else
> check_poison_obj(cachep, objp);
> #endif
> poison_obj(cachep, objp, POISON_INUSE);
> }
> if (cachep->flags & SLAB_STORE_USER) {
> *dbg_userword1(cachep, objp) = caller; /* address(0) */
> *dbg_userword2(cachep, objp) = __builtin_return_address(1);
> ---> *dbg_userword3(cachep, objp) = __builtin_return_address(2);
> }
>
>
> Shortly after the call instruction to dbg_userword3().
>
> Repealing that patch permits the kernel to work again.

Yup, sorry about that. For some system calls the __builtin_return_address()
just walks off the top of the stack.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-08-10 19:17    [W:0.071 / U:0.488 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site