public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: richardj_moore@uk.ibm.com
Cc: Andi Kleen <ak@suse.de>,
	root@chaos.analogic.com,
	"Maciej W. Rozycki" <macro@ds2.pg.gda.pl>,
	linux-kernel@vger.kernel.org
Subject: Re: Why is double_fault serviced by a trap gate?
Date: Fri, 08 Dec 2000 09:47:42 +1100	[thread overview]
Message-ID: <5464.976229262@ocs3.ocs-net> (raw)
In-Reply-To: Your message of "Thu, 07 Dec 2000 21:09:47 -0000." <802569AE.00747B7E.00@d06mta06.portsmouth.uk.ibm.com>

On Thu, 7 Dec 2000 21:09:47 +0000, 
richardj_moore@uk.ibm.com wrote:
>In summary I'd say the lack of a task gate is at the very least an
>oversight, if not a bug.
>
>If no one else wants to do it I'll see if I can code up the task gates for
>the double-fault and NMI.

If you overflow the kernel stack then you have already scribbled on the
process state at the low end of the kernel stack pages.  The process is
definitely not recoverable but you might not even be able to recover
the machine.  Corrupt p_opptr and friends, thread_group or pidhash and
other processes can be affected when they follow the chains.  However
being able to report the error is a good start, even if you cannot
recover.

If you add task gates, assign enough stack space for debuggers.  kdb
does a lot of work when NMI detects a hung cpu and needs stack space to
do that work.  A good option is to dedicate a set of process entries
for per cpu task gates, say processes 2-NR_CPUS+1 are dedicated to task
gates.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  parent reply	other threads:[~2000-12-07 23:18 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-07 21:09 Why is double_fault serviced by a trap gate? richardj_moore
2000-12-07 21:44 ` Richard B. Johnson
2000-12-07 22:36   ` Brian Gerst
2000-12-08  1:36     ` Richard B. Johnson
2000-12-08 11:44       ` Maciej W. Rozycki
2000-12-07 22:47 ` Keith Owens [this message]
2000-12-08 11:30 ` Maciej W. Rozycki
  -- strict thread matches above, loose matches on Subject: below --
2000-12-09 23:46 richardj_moore
2000-12-08 20:48 richardj_moore
2000-12-08 16:34 richardj_moore
2000-12-08 16:52 ` Richard B. Johnson
2000-12-08 13:18 richardj_moore
2000-12-08  8:37 richardj_moore
2000-12-08 12:58 ` Richard B. Johnson
2000-12-08 22:34   ` Keith Owens
2000-12-08 20:31 ` Mikulas Patocka
2000-12-07 23:08 richardj_moore
2000-12-07 23:03 richardj_moore
2000-12-07 23:01 Petr Vandrovec
2000-12-07 20:20 Petr Vandrovec
2000-12-07 19:38 ` Maciej W. Rozycki
2000-12-07 18:13 Petr Vandrovec
2000-12-07 18:04 ` Maciej W. Rozycki
2000-12-07 16:04 richardj_moore
2000-12-07 16:13 ` Andi Kleen
2000-12-07 16:31   ` Richard B. Johnson
2000-12-07 16:55   ` Maciej W. Rozycki
2000-12-07 18:05     ` Andi Kleen
2000-12-07 18:11       ` Maciej W. Rozycki
2000-12-07 18:29         ` Andi Kleen
2000-12-07 18:47           ` Maciej W. Rozycki

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=5464.976229262@ocs3.ocs-net \
    --to=kaos@ocs.com.au \
    --cc=ak@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=macro@ds2.pg.gda.pl \
    --cc=richardj_moore@uk.ibm.com \
    --cc=root@chaos.analogic.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox