Kri*_*hna -5 c kernel-module linux-kernel userspace
我尝试copy_to_user()在循环中使用.
for_each_process(p) {
copy_to_user(buf, "data of p", len);
}
Run Code Online (Sandbox Code Playgroud)
但是,我得到的输出是不同的.它只有用户空间中的最后一行数据,例如
#Data expected to copy to user space
123 1234 12 21
1243 124 423 12
1234 422 42 423
#Current Output:
1234 422 42 423
Run Code Online (Sandbox Code Playgroud)
如何从内核空间将每一行复制到用户空间?
你可以在内核程序中使用copy_to_user()多少次?
你想要多次.但它们必须有意义(因为你在任何类型的程序中所做的任何事情都必须有意义).
我想如果传递给copy_to_user()的数据会将数据附加到下一行.
不,copy_to_user不附加任何东西.我不确定你的想法在哪里.
实际发生了什么
好吧,你要复制第一个进程的数据,然后用第二个进程的数据覆盖它,然后用第三个进程的数据覆盖它,依此类推.最后,您将获得第三个流程的数据.
如何从内核空间将所有三行传输到用户空间?
将每个进程的数据存储在不同的位置.
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |