mmap в / proc / pid / mem - PullRequest
       56

mmap в / proc / pid / mem

8 голосов
/ 07 марта 2011

Кто-нибудь преуспел в создании mmap'а / proc / pid / mem с ядром Linux 2.6?Я получаю ошибку ENODEV (нет такого устройства).Мой вызов выглядит так:

char * map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, mem_fd, offset);

И я проверил, просматривая файл / proc / pid / maps во время отладки, что, когда выполнение достигает этого вызова, смещение имеет значение вершины стекаминус PAGE_SIZE.Я также проверил с помощью ptrace, что mmap устанавливает errno в ENODEV.

1 Ответ

18 голосов
/ 07 марта 2011

См. proc_mem_operations в /usr/src/linux/fs/proc/base.c: /proc/.../mem не поддерживает mmap.

...