Re: [PATCH] arm: Add unwinding annotations for 64bit division functions

From: Catalin Marinas
Date: Thu Sep 22 2011 - 05:49:11 EST


On 22 September 2011 08:28, Jon Medhurst (Tixy) <jon.medhurst@xxxxxxxxxx> wrote:
> On Wed, 2011-09-21 at 12:55 +0100, Russell King - ARM Linux wrote:
>> Instructions such as VFP, kprobes tracing, etc are expected fault
>> locations, and those are fairly well controlled where they can be placed.
>> With things like ftrace, it certainly is the case that the unwinder can
>> theoretically be called from almost anywhere in a function.
>
> Actually, kprobes can be places on any instruction in the kernel that
> isn't in the section .kprobes.text.
>
> I also strongly suspect that stack unwinding won't happen correctly
> across the boundary between the kprobes handling code and the function
> which was probed - there's an awful lot of stack jiggery pokery going on
> there.

Are people most likely to place kprobes on the first instruction of a
function? We could improve things a bit in the unwinder and assume
that if the fault address is the same as the .fnstart address, the
return value is always in LR and the SP not affected (that's unwinding
bytecode 0xb0). For a few instructions into the function prologue we
can't reliably get the unwinding information.

--
Catalin
--
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/