Au niveau de la résolution des liens actifs, nous avons deux points d'entrées différents dans le kernel. Le plus simple à visualiser est l'appel système readalink. Dans cette fonction, le buffer pour stocker le résultat de l'indirection est fourni par l'utilisateur, et le nombre d'indirection à calculer est toujours de un (si le résultat de l'indirection est le chemin d'un lien actif, nous ne ferons pas de nouvelle résolution).
Le deuxième point d'entrée est utilisé en interne par le kernel, lorsque celui-ci cherche à résoudre un chemin relatif vers un chemin absolue. Dans ce cas la résolution est récursive, et le buffer pour stocker le résultat est fourni par le kernel.
Ces deux points d'entrée ont du code en commun constitué du couple pipe/fork. C'est pourquoi nous avons placé cette partie dans une fonction commune aux deux points d'entrées.