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/