/proc/pid/mem上的mmap

nzkunb0c  于 2023-03-17  发布在  其他
关注(0)|答案(1)|浏览(223)

有没有人在Linux kernel 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。

xzlaal3s

xzlaal3s1#

参见/usr/src/linux/fs/proc/base.c中的proc_mem_operations/proc/.../mem不支持mmap
可以通过linux-source软件包或直接从kernel.org获得相应的linux内核源代码来安装

相关问题