[SOS] Traitement d'un "stack overflow"

Thomas Petazzoni thomas.petazzoni at enix.org
Mar 30 Mai 21:17:26 CEST 2006


Salut !

Le Fri, 26 May 2006 19:10:46 +0200,
"Cyril Dupuit" <cyrildupuit at hotmail.com> a écrit :

> J'aimerai protéger chaque pile de chaque thread.
> En faisant des recherches sur le net, j'ai vu que Thomas et D2
> avaient écrit un document
> (http://kos.enix.org/~d2/snapshots/kos_current/doc/kstack-html/)
> concernant les dépassements de pile. Après lecture de celui-ci, je
> n'arrive pas à comprendre pourquoi l'exception Stack Fault n'est pas
> utilisable par GCC étant donné qu'il n'a pas à interpréter les champs
> de la GDT.

Le code que pond GCC fait la supposition que tous les segments
commencent à la même adresse. Là tout de suite, sous la main, je n'ai
pas de document pour étayer cette affirmation.

> De plus, en reprenant le code concernant l'exception
> double page fault, je n'arrive pas obtenir les résultats attendus.
> Qemu se bloque (c'est à dire un reboot sur un pc standard) mais
> n'entre pas dans l'exception double page fault.
> 
> Quelqu'un aurait-il l'amabilité de m'expliquer un peu plus en
> profondeur ce que je n'arrive pas à faire.

Bin là, juste avec ce que tu dis ("bloquage"), ça me paraît difficile
de t'aider. Peux-tu en dire plus ? Et notamment mettre en ligne une
version compilable de ton code qui montre le problème que tu
rencontres ?

Sinon, si tu regardes le début de notre document, tu verras que nous
n'utilisons en fait pas cette technique. En effet, nous sommes (pour
l'instant) restés sur un échec au niveau de cette méthode. Nous avions
un cas où nous risquions de perdre une interruption (ce qui est grave),
nous avons donc abandonné cette méthode, et utilisons dans KOS des
piles de taille fixe en mode noyau.

Bonne soirée,

Thomas
-- 
PETAZZONI Thomas - thomas.petazzoni at enix.org 
http://{thomas,sos,kos}.enix.org - Jabber: thomas.petazzoni at jabber.dk
http://{agenda,livret}dulibre.org - http://www.toulibre.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://the-doors.enix.org/pipermail/sos/attachments/20060530/386977c5/signature.pgp


Plus d'informations sur la liste de diffusion Sos