From: Jason Wessel <jason.wessel@windriver.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
"Frank Ch. Eigler" <fche@redhat.com>,
Roland McGrath <roland@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [git pull] kgdb-light -v10
Date: Tue, 12 Feb 2008 10:21:03 -0600 [thread overview]
Message-ID: <47B1C76F.6070908@windriver.com> (raw)
In-Reply-To: <20080212153612.GA2944@one.firstfloor.org>
Andi Kleen wrote:
>> 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.
>
It is more than a simple recursion check (which is already in the code)
because there are some conditions we can recover from. I'd rather not
crash the system out if it can be recovered.
kgdb_reenter_check() has the "simple" recursion check with the
exception_level variable.
It also has several special checks against the breakpoint situation I
described before as well as trying to remove all the breakpoints.
Ultimately if all those checks fails, it results in panic, because at
the end of the day that is all you can do if you re-enter the debugger
from the debugger (IE: you are toast).
I don't see any reason to change the code there unless it can be further
improved some way. We want to fail loudly and verbosely when this kind
of thing happens so we can determine if it was the end user that caused
the problem or if there is a real defect.
Jason.
next prev parent reply other threads:[~2008-02-12 16:22 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-11 1:53 kgdb in git-x86#mm review Andi Kleen
2008-02-11 15:32 ` Frank Ch. Eigler
2008-02-11 16:11 ` Andi Kleen
2008-02-11 16:21 ` [git pull] kgdb-light -v8, (was: Re: kgdb in git-x86#mm review) Ingo Molnar
2008-02-11 16:41 ` [git pull] kgdb-light -v8, Jan Kiszka
2008-02-11 16:54 ` Ingo Molnar
2008-02-11 17:10 ` [git pull] kgdb-light -v8, (was: Re: kgdb in git-x86#mm review) Andi Kleen
2008-02-11 23:03 ` [git pull] kgdb-light -v9 Ingo Molnar
2008-02-12 10:03 ` Andi Kleen
2008-02-12 9:35 ` Sam Ravnborg
2008-02-12 10:26 ` Roland McGrath
2008-02-12 10:34 ` Ingo Molnar
2008-02-12 11:27 ` [git pull] kgdb-light -v10 Ingo Molnar
2008-02-12 12:19 ` Andi Kleen
2008-02-12 12:38 ` Ingo Molnar
2008-02-12 13:30 ` Jason Wessel
2008-02-12 14:39 ` Andi Kleen
2008-02-12 14:35 ` Jason Wessel
2008-02-12 15:36 ` Andi Kleen
2008-02-12 16:21 ` Jason Wessel [this message]
2008-02-12 17:10 ` Andi Kleen
2008-02-12 16:48 ` Jason Wessel
2008-02-12 13:50 ` Andi Kleen
2008-02-12 15:16 ` Ingo Molnar
2008-02-12 15:28 ` Andi Kleen
2008-02-12 15:28 ` Ingo Molnar
2008-02-12 16:11 ` Andi Kleen
2008-02-12 16:24 ` Ingo Molnar
2008-02-12 17:01 ` Andi Kleen
2008-02-12 16:25 ` Linus Torvalds
2008-02-12 16:42 ` Ingo Molnar
2008-02-12 17:07 ` Andi Kleen
2008-02-15 12:35 ` [RFC][PATCH] modular kgdb-light (was: Re: [git pull] kgdb-light -v10) Jan Kiszka
2008-02-15 13:32 ` Andi Kleen
2008-02-15 20:24 ` [RFC][PATCH] modular kgdb-light Jason Wessel
2008-02-15 20:36 ` [git pull] kgdb-light -v10 Jason Wessel
2008-02-12 16:46 ` Linus Torvalds
2008-02-12 17:01 ` Ingo Molnar
2008-02-12 17:10 ` Ingo Molnar
2008-02-12 18:20 ` Andi Kleen
2008-02-12 18:11 ` Linus Torvalds
2008-02-12 19:22 ` Andi Kleen
2008-02-12 19:01 ` Linus Torvalds
2008-02-12 18:20 ` Andrew Morton
2008-02-12 19:16 ` Andi Kleen
2008-02-12 21:01 ` Ingo Molnar
2008-02-12 19:34 ` Frank Ch. Eigler
2008-02-12 20:16 ` Andi Kleen
2008-02-12 13:18 ` Domenico Andreoli
2008-02-12 13:59 ` Jason Wessel
2008-02-12 15:45 ` Domenico Andreoli
2008-02-11 16:03 ` kgdb in git-x86#mm review Mark Lord
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47B1C76F.6070908@windriver.com \
--to=jason.wessel@windriver.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=fche@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=roland@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.