Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在阅读LDD3。在第 8 章中,我无法理解这一段:
内核中使用的函数的一个示例vmalloc是create_module系统调用,它用于vmalloc为正在创建的模块获取空间。模块的代码和数据稍后会使用 . 复制到分配的空间copy_from_user。通过这种方式,模块似乎被加载到连续的内存中。
vmalloc
create_module
copy_from_user
为什么copy_from_user使用?我们不是只在内核空间吗?
insmod回想一下内核模块是由(或)命令加载的,该modprobe命令在用户空间中运行。这些命令将内核模块从磁盘加载到内存中,然后将其传递给内核,内核必须使用它来将其copy_from_user()复制到内核内存。
insmod
modprobe
copy_from_user()