2009-11-25 5 views

Répondre

5

Si vous devez absolument, utiliser les fonctions mmap et mprotect de l'en-tête <unistd.h> Ouvrir/dev/mem

+0

Cela nécessiterait des privilèges root car un utilisateur non-root normal se verrait refuser l'accès à/dev/mem! – t0mm13b

+0

Oui, j'ai supposé qu'il ne pouvait pas accéder à la zone mémoire via l'interface du pilote. Ou bien il n'aurait pas posé la question en premier lieu. La question n'a pas mentionné le niveau de privilège. –

+0

Oui mmap/dev/mem. Mais c'est sucky :) – MarkR

3

Habituellement, pour accéder que userspace vous utiliseriez copy_to_user() pour obtenir une copie de l'espace utilisateur valide.

4

Ceci est mal, vous allez avoir des problèmes subtils avec cette approche, et vous allez très probablement corrompre la mémoire. Comme le dit abyx, l'IOCTL retourne lui-même la mémoire qui vous intéresse.

Questions connexes