gpt4 book ai didi

linux - 在运行特定 vdso 时收到通知

转载 作者:太空狗 更新时间:2023-10-29 12:22:51 25 4
gpt4 key购买 nike

我目前正在尝试实现我自己的 VDSO。我用过this tutorial其中解释了如何为 2.6 内核执行此操作。

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

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

我想做的是类似于此代码中的函数 my_vdso_has_been_called()):

void update_vsyscall(/* […] */) {
// […]
if(my_vdso_has_been_called())
do_something();
}

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

中找到

最佳答案

既然你知道如何声明一个共享变量并从内核和 vDSO 访问它,你可以使用它:声明一个新变量,并在调用它时从 vDSO 递增它。

关于linux - 在运行特定 vdso 时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53437433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com