gpt4 book ai didi

linux - 如何在内核模块中访问/dev/shm 下由用户空间进程创建的 tmpfs 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:31 26 4
gpt4 key购买 nike

我在用户空间的/dev/shm (tmpfs) 下创建了一个文件,我将该文件映射到进程地址空间并推送内容。现在,如何将这个文件再次映射到内核虚拟地址空间下,以访问用户空间进程写入的内容。我当然知道如何使用 filp_open() 和 vfs_read() 读取它,但我真的想使用类似于用户空间进程的 mmap() 的直接内存指针来访问内容。我想做一些类似于 mm/shmem.c 中的事情,但我不想在用户空间 VMA 和/SYSVXXX 文件之间进行映射,而是想用内核虚拟地址 VMA 来做这件事。有人可以帮忙吗?

谢谢..

最佳答案

只有实现 tmpfs 的代码才知道其文件的内存位置。

您必须实现自己的 FS,或者使用一个允许您定义自己的 mmap 实现的 FS(例如 procfssysfs) .

关于linux - 如何在内核模块中访问/dev/shm 下由用户空间进程创建的 tmpfs 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474387/

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