Re: Why is double_fault serviced by a trap gate?

From: richardj_moore@uk.ibm.com
Date: Fri Dec 08 2000 - 15:48:03 EST


Exactly, and you wouldn't set DPL=3 for interrupt 8 since a double-fault
can only occur from ring 0..

Richard Moore - RAS Project Lead - Linux Technology Centre (PISC).

http://oss.software.ibm.com/developerworks/opensource/linux
Office: (+44) (0)1962-817072, Mobile: (+44) (0)7768-298183
IBM UK Ltd, MP135 Galileo Centre, Hursley Park, Winchester, SO21 2JN, UK

Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> on 08/12/2000 20:31:59

Please respond to Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>

To: Richard J Moore/UK/IBM@IBMGB
cc: root@chaos.analogic.com, Brian Gerst <bgerst@didntduck.org>, Andi
      Kleen <ak@suse.de>, "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>,
      linux-kernel@vger.kernel.org
Subject: Re: Why is double_fault serviced by a trap gate?

> No no. That's that the whole point of a gate. You make a controlled
> transition to ring 0 including stack switching. There are complex
> protection checking rules, however as long as the DPL of the gate
> descriptor is 3 then ring 3 is allowed to make the transition to ring 0.
A
> stack fault in user mode cannot kill the system. If it ever did it would
be
> a blatant bug of the most crass kind.

Setting DPL == 3 of any interrupt/trap/fault gate is bad idea because it
allows the user to kill the machine with INT 8 or something like that. DPL
is checked only if interrupt is generated with INT, INT3 or INTO (IA
manual, vol 3, section 5.10.1.1).

Mikulas

-
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/

-
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/



This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:15 EST