首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行特定vdso时收到通知

在运行特定vdso时收到通知
EN

Stack Overflow用户
提问于 2018-11-22 01:15:29
回答 1查看 69关注 0票数 2

我目前正在尝试实现我自己的VDSO。我使用了this tutorial,它解释了如何在2.6内核中做到这一点。

我对其进行了测试,并使其正常工作。(我成功地创建了一个内核变量并从userland访问它。)

有没有办法在内核中知道何时调用了vdso?我假设这不能同步完成(因为vdso是在userland中处理的)。但是,内核是否有可能(甚至是脏的)知道函数是否已被调用(可能带有硬件断点或其他东西)?

我想要做的是类似以下代码中的函数( my_vdso_has_been_called()):

代码语言:javascript
复制
void update_vsyscall(/* […] */) {
    // […]
    if(my_vdso_has_been_called())
        do_something();
}

注意:在arch/x86/kernel/vsyscall_64.c中可以找到update_vsyscall函数

EN

回答 1

Stack Overflow用户

发布于 2018-11-22 06:28:21

由于您知道如何声明共享变量并从内核和vDSO访问它,因此可以使用该方法:声明一个新变量,并在每次调用它时从vDSO递增该变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53437433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档