在 ARM64 的 Linux 内核下,使用比 sp 指针小的内存空间存储变量是否可行

1次阅读

共计 166 个字符,预计需要花费 1 分钟才能阅读完成。

在阅读 ptrace 相关代码时,看到为了修改 openat 系统调用的 path 参数,在小于 sp 指针(或者叫高于栈顶位置)保存了新的 path 路径,然后将传递参数的寄存器指向了这个新的 path,这样做为什么是没有问题的?一般文档上说,sp 指向栈顶,那么如果变量使用了没有被 sp 涵盖的内存空间(字符数组指向了小于 sp 指针的位置),这不会报错吗?

正文完
 0