在用户空间模式下,我有一个指向数据缓冲区的指针,现在我想用"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,…)?
如果您知道数据大小很小,比如说100字节,那么您可以声明一个char数组。usingned char kernel_cmd_buf[129];