3

我正在阅读LDD3。在第 8 章中,我无法理解这一段:

内核中使用的函数的一个示例vmalloccreate_module系统调用,它用于vmalloc为正在创建的模块获取空间。模块的代码和数据稍后会使用 . 复制到分配的空间copy_from_user。通过这种方式,模块似乎被加载到连续的内存中。

为什么copy_from_user使用?我们不是只在内核空间吗?

4

1 回答 1

3

insmod回想一下内核模块是由(或)命令加载的,该modprobe命令在用户空间中运行。这些命令将内核模块从磁盘加载到内存中,然后将其传递给内核,内核必须使用它来将其copy_from_user()复制到内核内存。

于 2013-12-06T18:06:44.090 回答