我在 xv6 中定义了一个向上的堆栈(它有一个向下的堆栈)并且想知道我是如何在堆栈和堆之间放置一个保护页的。我可以使用任何特定的系统调用吗?另外,我怎样才能保持一页地址空间始终位于堆栈和堆之间?
最佳答案
所以你确切地知道你的堆栈从哪里开始增长?在那种情况下,你为什么不离开一页,然后从下一页开始。您可能需要分配内存并用一些数据毒化内存,以便可以检测到它。就像其中一些内存溢出检测工具的工作方式一样。或者您可能需要为该页面设置一些自定义标志,以便在尝试访问它们时,如果发现不合适,您可以检查标志和错误。
我是否正确回答了您的问题,顺便说一句?
关于linux - 如何在堆和栈之间有一个保护页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483940/