一尘不染

在/ proc / pid / mem上的mmap

linux

有没有人成功地使用Linux内核2.6 mmap’ing / 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。


阅读 238

收藏
2020-06-03

共1个答案

一尘不染

proc_mem_operations/usr/src/linux/fs/proc/base.c/proc/.../mem不支持mmap

2020-06-03