内存区域显示在SMAPS输出中,没有权限

时间:2010-05-09 09:15:03

标签: linux-kernel

如果我看到cat / proc // smaps的输出,我发现有一些内存区域与之没有关联的读/写/执行权限。这些区域也映射到inode编号0。

我想知道一个地区如何才能进入这种状态?是某种内存泄漏吗?

这个地区是否可以再次被这个地区使用?

1 个答案:

答案 0 :(得分:0)

他们不是泄密。通过使用mmap()MAP_ANONYMOUS标记调用PROT_NONE来创建它们。该流程仍然可以使用该虚拟地址空间:它可以使用munmap()取消映射区域,或使用mprotect()更改保护。

此类区域通常用于设置保护页,用于在不断增长的数据结构超出其当前范围时触发信号。