限制堆区域的虚拟地址范围

时间:2015-10-02 10:31:23

标签: linux operating-system kernel virtual-memory

我需要在进程VA空间中进行一些强力搜索以进行学习,因此希望限制我的堆区域的虚拟地址范围。 OS课程告诉我堆在数据和堆栈页面之间的任何地方。所以我想通过以下方式缩小我的过程VA范围:

  • 有一个自定义链接描述文件,可以在地址范围内提供非常高的数据的开头和结尾(0x7f45f88a6000)
  • 调整fs / binfmt_elf.c使堆栈顶部为(0x8f45f88a6000)而不是随机选择。
  • 假设我的程序仅使用带有NULL作为地址的mmap

我可以安全地假设我的堆(brk)将介于此地址范围之间。我还可以假设所有mmap(NULL,其他args)调用都将在此地址范围之间返回吗?

如果没有解决这个问题的原因是什么?我愿意改变内核源代码,但在哪里?

0 个答案:

没有答案