Linux模块编程失败并陷入循环

问题描述 投票:1回答:1

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

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

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

好吧,我的问题是它有时会起作用,有时它不会...大多数时候它不起作用,它会在内核中循环,我不明白导致问题的原因以及我如何解决它。任何有关这种情况的帮助都会令人难以置信,我只是不得不经常关闭并重启我的VM而感到沮丧。

即使有人告诉我如何在我的VM循环时找到错误......?

c linux-kernel kernel-module kernel
1个回答
0
投票

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

这里可能有两个问题

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

因为我已经看过内核编程,所以从很久以前开始,只需要一点点盐。

© www.soinside.com 2019 - 2024. All rights reserved.