【发布时间】:2016-07-31 19:13:23
【问题描述】:
我有一个指向用户空间模式下的数据缓冲区的指针,现在我想使用“copy_from_user”函数将该数据的值复制到内核模式。
假设我的数据指针是“data.ptr.buffer”,它的大小是“data_size”。 “data.ptr.buffer”的声明是:const void *buffer;
现在,我如何在内核模式下声明和分配内存以在内核模式下获取数据缓冲区值?我的“copy_from_user”调用类似于:
copy_from_user(data_value, data.ptr.buffer, data_size)
换句话说,我想知道如何声明 data_value 参数并为其分配内存(例如 kzalloc,...)?
【问题讨论】:
-
如果您只想要一些任意内存,您可能需要查看
kmalloc(),这是正确的选择。
标签: c pointers linux-kernel malloc allocation