从 ioctl 内部调用 ioctl 是否不好?

从 ioctl 内部调用 ioctl 是否不好?

我对 Linux 还很陌生,但是做了很多自学。

我的意思是我的问题的答案是,不,你不应该这样做。

因此,请向本页的专家寻求有关该主题的建议。

  1. 可以从另一个 ioctl 中调用另一个 ioctl 吗?
  2. ioctl 从技术上讲是一个系统调用(我认为),这意味着它在技术上是内核代码?

答案1

ioctl从用户空间进行调用,并在内核空间中执行驱动程序中的代码。在内核空间本身,您通常直接调用内核的其他部分,因此不需要嵌套ioctl:毕竟,这是一种帮助用户空间与内核空间通信的机制。

所以:

1)没有人这样做,因为没有必要。

2)你不应该这样做。

3)如果你真的愿意,你可以在内核中设置一个假环境,你可以ioctl在其中模拟另一个环境ioctl,但这是一个很大的努力,并且是一个复杂的解决方案,你可以用更简单的方式实现。

4)思考这个并不能帮助你理解内核。

相关内容