1

好的,所以我正在为硬件任务编程,但可以使用一些帮助或洞察力。我知道我到处都读过你不应该在模块中打开文件,但这是我们的任务......

无论如何我的模块代码在这里: http: //pastebin.com/LU8hWraL

我的用户级代码在这里: http: //pastebin.com/RC0Zk1kQ

好的,我的问题是有时它可以工作,有时它不会......大多数时候它不起作用,它会在内核上陷入循环,我不明白是什么导致了问题以及如何解决它。对于这种情况的任何帮助将不胜感激,我只是对不断关闭并重新启动我的虚拟机感到沮丧。

即使有人告诉我当我的虚拟机这样循环时如何找到错误......?

4

1 回答 1

0

首先,您可能想自己使用kernel_read()而不是自己做这些事情。

这里可能有两个问题

  • 您将and&filpRead->f_pos作为参数提供给内核内部使用。readwrite
  • 当您加密或解密数据时,您可能无法获得与您读取的相同数量的字节。因此,写入与读取相同数量的数据也可能是一个问题。

对两者都持保留态度,因为这是很久以前的事了,因为我已经看过内核编程了。

于 2012-12-11T09:00:28.877 回答