2012-04-10 99 views
2

我正在使用mmap分配内存,并使用mprotect将一些页面标记为PROT_READ,并将其标记为PROT_NONE。我的实现具有基于内存许可的逻辑。目前我有内存位置信息,我如何获得当前的保护状态? (PROT_READ/PROT_NONE)在Linux中获取内存许可详细信息

回答

3

我不知道是否有系统调用来检索此信息。 绝对最坏的情况下,你可以解析/proc/<pid>/maps

+1

从应用程序内部解析'/ proc/$ pid/maps'或'/ proc/self/maps',以及'/ proc/$ pid/smaps'或'/ proc/$ pid/smaps'是Linux的方式来获取这些信息(这不是最坏的情况*,它是Linux上的*好方法,并且没有其他方法)。 – 2012-04-11 07:31:08