【问题标题】:How to write data to process address space from kernel?如何从内核向进程地址空间写入数据?
【发布时间】:2016-03-17 07:38:39
【问题描述】:

do_execve 创建一个进程时,我想在某处(比如0x0100_0000)写入一些数据,以便在进程运行后它可以访问该地址来检索数据?如何完成这个任务?

【问题讨论】:

  • 您可以在二进制文件中创建一个部分(或使用现有的)。在 exec 上,当部分加载到内存中时,用适当的值填充它

标签: linux linux-kernel address-space


【解决方案1】:

您可以使用VDSOExample 使用 VDSO 机制进行自己的调用。这个想法是通过特殊的共享库将用户空间应用程序和内核中的代码链接起来。 gettimeofday syscall 就是这样实现的,可以减少上下文切换的次数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 2011-09-20
    • 2011-11-08
    • 1970-01-01
    • 2014-04-27
    相关资源
    最近更新 更多