从内核空间访问进程堆栈指针

时间:2018-07-28 17:59:09

标签: c linux-kernel

我能够从当前宏中获取task_struct,并且想知道是否有一种方法可以从我的自定义sys_call中获取进程堆栈指针以返回到用户空间(作为只读值)?

1 个答案:

答案 0 :(得分:0)

很容易在汇编中获得其价值,因此请尝试使用此方法:

#include <stdint.h>

uint64_t getsp(void)
{
    uint64_t sp;
    asm("mov %%rsp, %0" : "=rm" (sp));
    return sp;
}