Comment tester si une adresse est lisible dans linux userspace app

Pour le débogage, je dois tester un pointeur pour voir s’il pointe vers une page lisible valide. Actuellement, je suis en train d’parsingr / proc / [pid] / maps pour voir si l’adresse est bien mappée, mais cela semble un peu long. Y a-t-il une meilleure façon? Merci.

La méthode canonique consiste à utiliser l’appel système write() pour lire depuis la page (en écrivant dans un descripteur de fichier pipe() factice). Au lieu de mettre en défaut, il retournera -1 avec errno == EFAULT si le tampon à écrire est illisible.