1

我已经完成了向 linux 内核添加系统调用的困难部分。我需要返回以下数组: unsigned int counts[4]
我可以将数组引用为 curr->counts,但我认为没有返回值,而且我认为给内核空间指针是不好的?
相反,我认为最好的方法是返回 void 并按参数传递。这是要走的路吗?

4

2 回答 2

2

请参阅内核例程copy_to_user ()。设计系统调用接口来传递一个参数,该参数是一个返回数据的指针。

您正在尝试执行诸如read()orgettimeofday()系统调用之类的操作,对吗?这些都通过使用返回超过 32 位的结果copy_to_user()

于 2011-04-26T02:10:21.073 回答
1

我会说是的——将数据复制到用户缓冲区可以避免各种问题。

于 2011-04-26T02:07:18.053 回答