[OSy] navratova hodnota vlakna a platnost vlakna

Petr Tůma petr.tuma at d3s.mff.cuni.cz
Sat Nov 5 20:23:12 CET 2011


Dobry den,

> Nedava totiz moc smysl chranit jednu cast kernelu proti chybam v jine
> casti kernelu. Kernel tvori jednu bezpecnostni domenu, bezi v jedinem
> adresovem prostoru a mel by byt zkratka cely spravne. Je-li cely
> spravne, neni potreba testovat spravnost dat predavanych interne mezi
> kernelovym API (jinak nez testy s konstantni datovou slozitosti).

Mozna by stalo za to upresnit, ze obecne se i v kernelu vyplati 
programovat defenzivne, tedy napriklad testovat argumenty volani. Je 
sice pravda, ze kdyz kernel spadne, je casto docela jedno, kde presne to 
bylo, ale i to neni obecne zcela pravda:

  - Cim dele se necha bezet kod zatizeny chybou, tim vetsi je 
pravdepodobnost, ze ta chyba ovlivni neco duleziteho. A tak je napriklad 
lepsi, kdyz se pokus o pouziti spatne reference odchyti pred zapisem do 
ni (co kdyz to je omylem adresa diskoveho bufferu a zapis tak zpusobi 
korupci filesystemu).

  - Podobne se chyby ladi lepe kdyz je clovek vidi vcas. Pouziti spatne 
reference muze poskodit datove struktury kernelu (nebo aplikace), na 
kterych muze nakonec viditelne selhat uplne jina cast kodu (a clovek v 
ni pak zbytecne hleda chybu, ktera je ve skutecnosti jinde).

Petr Tuma




More information about the NSWI004 mailing list