[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Faille critique découverte dans GLIBC



On sort un peu (beaucoup) du sujet de cette liste mais
ça m'intéresse alors du coup j'aurais quelques questions
si c'est possible.

Le 29/01/2015 22:12, Pascal Hambourg a écrit :

> Il y a de ça. Chaque ouverture d'un fichier compte pour un lien vers
> l'inode correspondant, au même titre que les liens durs dans les
> répertoires. La mise à jour fait pointer le nom du fichier vers un
> nouvel inode 

Tu parles bien de la mis à jour d'une lib ?
Dans ce cas, je ne comprends pas trop ce que tu veux dire par "nouvel inode".
Par exemple, j'ai ça :

~$ touch /tmp/foo.so
~$ touch /tmp/foo.so.new-version

~$ ls -i /tmp/foo.so*
523294 /tmp/foo.so  523295 /tmp/foo.so.new-version

# Je considère la commande ci-dessous comme une màj du fichier foo.so
~$ cp /tmp/foo.so.new-version /tmp/foo.so

# Et je constate que le numéro d'inode de foo.so n'a pas bougé ?
~$ ls -i /tmp/foo.so*
523294 /tmp/foo.so  523295 /tmp/foo.so.new-version

Du coup, j'ai pas dû comprendre quelque chose dans ta phrase.

> qui contient la nouvelle version du fichier, mais l'inode
> originel reste présent 

Présent où ça ? Dans les « attributs » des processus en cours ?
(Pour le terme « attributs », désolé je ne connais pas le bon vocabulaire.)

> tant qu'il reste des liens, donc tant qu'il n'est
> pas fermé par les processus qui l'ont ouvert.

Mais durant cette période transitoire où il reste encore des
processus qui ont ouvert un fichier situé sur une zone A du
disque, zone pointée par cet « ancien » inode, qu'en est-il
de cette zone A du disque ? Est-elle disponible ou non ?

Si je comprends bien d'un côté cette zone n'est plus accessible via
l'arborescence du filesystem car l'ancien inode n'existe plus. Du
coup, cette zone du disque serait libre en quelques sortes ?

Mais d'un autre côté, on peut imaginer que le système se doit
d'interdire toute écriture au niveau de cette zone du disque
sans quoi les processus ouverts pourraient lire alors absolument
n'importe quoi au niveau de cette zone et donc finalement cette
zone mémoire n'est donc pas complètement disponible encore ?

-- 
François Lafont


Reply to: