[Kos-dev] pb devfs

d2 kos-dev@enix.org
22 Apr 2002 11:19:30 +0200


Hello,

En remettant au gout du jour les histoires de open hier, je me suis
apercu que le get_trans() de devfs etait incorrect : il marche bien
dans les cas "normaux", mais il reagit mal aux effets de bord. En
effet, si je lui demande de s'occuper de '/dev/mem/./kmem' par
exemple, il ne va pas reagir correctement (j'ai pas teste) : il va
trouver une family correcte, mais un name foireux (/./kmem au lieu de
kmem), et donc au final signaler une erreur alors qu'il y en a
pas. Bien sur, on pourrait faire un strrchr() en plus du strchr() qui
est fait pour trouver le debut de name. Mais ca veut dire alors que
les chaines du type '/dev/mem/toto/tata/bidon/name' seront
interpretees, a tort, comme etant equivalentes a
'/dev/mem/kmem'. Enfin, j'ai pas teste, et en particulier peut-etre
que '/dev/mem/toto/tata/bidon/name' sera qd meme refuse parce que
create_sr ne permettra pas la creation de la SR /dev/mem/toto par
exemple. A verifier (je ne regarde pas la, tout de suite).

Bref, si ces reproces sont justifies (a vous de me dire, c'est une
supposition pas testee), une solution plus elegante serait de faire un
parcours equivalent a open() dans le get_trans de devfs.

Bonne journee,

-- 
d2