Sistemi Operativi BSD: Scoperto un baco vecchio 25 anni!

OS X, Linux e tutti gli altri OS

Sistemi Operativi BSD: Scoperto un baco vecchio 25 anni!

Messaggioda Raffaele » mer mag 14, 2008 12:25 pm

Questo baco affligge la funzione Seekdir(), ed è stato scoperto dal Team di Samba!

E' stato scoperto in questo modo:

viene scritto un programma che crea una directory e la riempie con un certo numero di file, cancellandone alcuni e andando poi a vedere se seekdir() è in grado di riportare alla posizione di partenza.

Dagli esperimenti emerge un curioso comportamento: se in una directory si creano 28 file e si cancella il venticinquesimo, seekdir() non torna, se richiesto, sul ventiseiesimo, ma sul successivo: probabilmente la cosa ha a che fare con l'occupazione di più blocchi di memoria. Da qui l'indagine si sposta al codice kernel, che rimuove una directory e alla libreria che implementa seekdir() e dintorni.

Com'è ovvio aspettarsi, adesso che si conosce il finale, il problema si trova all'interno di seekdir(), laddove si salta il primo elemento di un blocco, che è stato cancellato nel frattempo, settandone l'inode a zero. Per risolvere il problema occorre che _readdir_unlocked() non salti le voci di directory con inode a zero, quando viene chiamata da seekdir()


Secondo gli esperti, questo baco era presente dalla prima versione implementata di sistemi BSD, ben 25 anni fa.

Per buona salute... :scherza: :ahah:

E meno male che sui sitemi operativi Open Source, prima o poi si trova sempre tutto, e alla fine lo si risolve, spiegando le modifiche da fare, e rilasciando patch pubbliche ufficiali accettate da tutti! :annu: :skull:

http://www.programmazione.it/index.php? ... Item=39322
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Messaggioda samo79 » gio mag 15, 2008 4:53 am

Ma che storia ... :eheh2: :eheh2:
Immagine

Moderatore sezioni Amiga/AmigaOne su
TGMOnline

WHEN IT'S DONE Immagine

Le mele a volte possono essere devastate dal colpo feroce di una tempesta, ma il tenero fascio del sole potrà sempre far sviluppare dei nuovi frutti

Sam440ep Flex 800 Mhz - 1 GB DDR Ram - Radeon 9250 - AmigaOS 4.1
AmigaOne XE G3 800 Mhz - 640 MB Ram - Radeon 9200 SE - AmigaOS 4.1
Avatar utente
samo79

Staff
 
Messaggi: 14962
Iscritto il: ven gen 10, 2003 5:09 am
Località: Perugia


Torna a Altri sistemi operativi

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti