Re: Re: [PATCH v3 0/5] ARM64: Add kernel probes(Kprobes) support

From: Steve Capper
Date: Fri Nov 28 2014 - 11:01:21 EST


On 27 November 2014 at 06:07, Masami Hiramatsu
<masami.hiramatsu.pt@xxxxxxxxxxx> wrote:
> (2014/11/27 3:59), Steve Capper wrote:
>> The crash is extremely easy to reproduce.
>>
>> I've not observed any missed events on a kprobe on an arm64 system
>> that's still alive.
>> My (limited!) understanding is that this suggests there could be a
>> problem with how missed events from a recursive call to memcpy are
>> being handled.
>
> I think so too. BTW, could you bisect that? :)
>

I can't bisect, but the following functions look suspicious to me
(again I'm new to kprobes...):
kprobes_save_local_irqflag
kprobes_restore_local_irqflag

I think these are breaking somehow when nested (i.e. from a recursive probe).

That would explain why the state of play of the interrupts is in an
unexpected state in the crash I reported:
"The point of failure in the panic was:
fs/buffer.c:1257

static inline void check_irqs_on(void)
{
#ifdef irqs_disabled
BUG_ON(irqs_disabled());
#endif
}
"

This is all new to me so I'm still at the head-scratching stage.

David,
Does the above make sense to you? Have you managed to reproduce the crash I get?

Cheers,
--
Steve
--
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/