Re: optimisation vs securite
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.c ]
Sujet: Re: optimisation vs securite
De: es...@lain.home (Marc Espie)
Groupes: fr.comp.lang.c
Organisation: Nerim -- xDSL Internet Provider
Date: 15. May 2008, 19:20:26
References: 1 2 3 4
|
In article <20080515172357$1943@prunille.vinc17.org>,
Vincent Lefevre <vincent+news@vinc17.org> wrote:
>Dans l'article <g0du4c$12kk$1@biggoron.nerim.net>,
> Marc Espie <espie@lain.home> écrit:
>
>> Mais *TOUS* les cryptographes ont rale sur la suppression de ce truc,
>> ont dit que volatile n'etait clairement pas une solution, ont *demande*
>> un truc aux gens qui pondent gcc, avec juste comme resultat des discussions
>> de `language lawyer' sur `ah ouais, mais la, ca ca s'interprete pas comme
>> ca, et la norme ne permet rien'... ce qui n'est pas exactement ce qui
>> etait voulu comme resultat, hein.
>
>Est-ce qu'ils ont pondu une spécification claire (qui pourrait alors
>être implémentée et activée avec telle ou telle option et serait de
>l'implementation-defined)?
Tu pourrais tres facilement pondre un builtin, style
__builtin_volatile(v);
au point ou le builtin est indique, la valeur de v est observee par un
element exterieur, et donc *doit* coincider avec ce qui est ecrit
dans le code...
Peut-etre reflechir a ce que ca veut dire pour un pointeur/tableau.
Dans le pire des cas, tu prevois un truc pour le scalaire, un truc pour
la valeur referencee par le scalaire...
Voire meme, si c'est un tableau de memset, tu pourrais ecrire:
for (i = 0; i < t; i++)
__builtin_volatile(t[i]);
ce qui explique au compilo que si, si, les valeurs du tableau doivent
bien avoir ete calculees.
Bref, ca me parait pas monstrueux a specifier. A implementer, sans doute
une autre paire de manches... Mais ca serait nettement plus utile que le
`tout ou rien' que constitue le volatile actuel.

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|