看最新的吧,6.1改用maple之后,代码都变了。
【 在 colyli 的大作中提到: 】
: 原则上堆和栈空间之间的区域,都可以被分配用来做mmap,当brk区域一直增长,可能会和某一个mmap区域重叠是有可能的。将这个重叠的mmap区域解除映射,当应用程序再次访问这个映射区域的地址时,会有问题。我感觉先nunmap掉这个映射留给堆空间,只是把问题推迟了,并没有解决问题。如果之前那个mmap区域又被访问了,应用程序还是会出问题的。
: 我看6.0的代码,如果发现有重叠,不会做unmap而是不再处理而推出系统调用了:
: 224 /* Check against existing mmap mappings. */
: ...................
--
FROM 59.109.218.*