小编JDu*_*ger的帖子

为什么堆栈 VMA 必须是可执行的?

我目前正在阅读Robert Love 的Linux Kernel Development

在“15 进程地址空间”一章中,他打印了进程的内存映射。

user@machine:~$ pmap 1424
#all the processes mapped memory (skipped for readability)
bfffe000 (8KB)        rwxp (0:00 0)         [ stack ]
Run Code Online (Sandbox Code Playgroud)

最后一行显示堆栈(随着它向下增长)。
他现在说:

堆栈自然是可读、可写和可执行的——否则没有多大用处。

据我所知,我们将堆栈用于数据和代码地址(函数及其参数/变量)。

我不明白为什么堆栈必须是可执行的?

process kernel memory stack

2
推荐指数
1
解决办法
527
查看次数

标签 统计

kernel ×1

memory ×1

process ×1

stack ×1