【问题标题】:create_module - why is copy_from_user used?create_module - 为什么使用 copy_from_user?
【发布时间】:2013-12-24 03:38:52
【问题描述】:

我正在阅读 LDD3。在chapter 8,看不懂这一段:

内核中使用vmalloc 的函数示例是create_module 系统 调用,它使用vmalloc 为正在创建的模块获取空间。代码和数据 该模块稍后会使用copy_from_user 复制到分配的空间。这样, 该模块似乎已加载到连续内存中。

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

【问题讨论】:

    标签: c module linux-kernel kernel vmalloc


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      • 2013-07-03
      • 2013-11-13
      • 2014-10-10
      • 2016-07-13
      • 1970-01-01
      相关资源
      最近更新 更多