mmap on / proc / pid / mem

时间:2011-03-07 05:52:46

标签: c linux mmap procfs systems-programming

有没有人成功用Linux内核2.6 mmap一个/ proc / pid / mem文件?我收到一个ENODEV(没有这样的设备)错误。我的电话看起来像这样:

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

我通过在调试时查看/ proc / pid / maps文件进行验证,当执行到达此调用时,offset具有堆栈顶部的值减去PAGE_SIZE。我还用ptrace验证了mmap将errno设置为ENODEV。

1 个答案:

答案 0 :(得分:18)

请参阅proc_mem_operations in /usr/src/linux/fs/proc/base.c/proc/.../mem不支持mmap