Re: [SLAB] __builtin_return_address use without FRAME_POINTER causes boot failure

From: Jörn Engel
Date: Wed Aug 10 2005 - 04:49:37 EST


On Tue, 9 August 2005 19:05:07 +0200, Manfred Spraul wrote:
> Alexander Nyberg wrote:
>
> >My fault, I introduced a debugging patch (i think i cc'ed you on it)
> >which used __builtin_return_address([12]) to save traces of who the
> >caller of an object is.
> >
> Ups. I still have your original mail in my inbox.
> The correct way is check the whole stack and store all pointers that are
> in kernel_text_address(). See store_stack_info() in mm/slab.c.

Ugly. Wouldn't make a difference on i386, but other architectures
actually don't need to play function-guessing games. Maybe we could
create an architecture-provided function like
void *get_next_stack_function(void* last_function);

For asm-generic, this would do the i386 style stack guessing, while
other architectures can walk a stack frame for it.

[ Yes, I realize that noone cares enough to actually do it, including
me, but it still would be nice. ]

Jörn

--
You can take my soul, but not my lack of enthusiasm.
-- Wally
-
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/