[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080212153612.GA2944@one.firstfloor.org>
Date: Tue, 12 Feb 2008 16:36:12 +0100
From: Andi Kleen <andi@...stfloor.org>
To: Jason Wessel <jason.wessel@...driver.com>
Cc: Andi Kleen <andi@...stfloor.org>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org, "Frank Ch. Eigler" <fche@...hat.com>,
Roland McGrath <roland@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [git pull] kgdb-light -v10
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists