Re: [git pull] kgdb-light -v10
From: Andi Kleen
Date: Tue Feb 12 2008 - 10:00:59 EST
> Basically when you reach this chunk of code it is before the hand off
> to the source debugger. We cannot continue because there was a
> breakpoint in a part of the system kgdb was using while doing its
> normal work. The reality is that KGDB is not self contained. It
> relies on some external I/O methods, atomic page fault handling and
> some other pieces. If you take an exception there, the kgdb integrity
> check absolutely needs to fail.
Don't you just need a simple recursion counter for this?
I cannot think of a reliable simple way to check for this using the instruction
pointer. The only way would be to use explicit annotations for all
possible code similar to what kprobes does (__kprobes), but that would be
hugely intrusive all over the tree.
With the recursion counter the only problem would be someone
setting a break point on the early notifier code itself that contains
a recursion check, but that would be only a few lines of code
so the risk of someone setting a break point exactly there would
be low.
> This check is absolutely required to help prevent silent death via
> dumb breakpoints or stepping around in random places (which is ill
> advised anyway).
I believe you, but I don't believe that your implementation
of this handles all cases.
-Andi
--
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/