ioctl内でioctlを呼び出すのは悪いですか?

ioctl内でioctlを呼び出すのは悪いですか?

私はLinuxに初めて触れましたが、多くの独学をしてきました。

私の質問に対する答えは「いいえ、そうしないでください」です。

したがって、このページの専門家からこのトピックに関するアドバイスを求めてください。

  1. 異なるioctl内で別のioctlを呼び出すことはできますか?
  2. ioctlは技術的にシステムコールです(私の考えでは)。これは技術的にカーネルコードを意味しますか?

答え1

ioctl呼び出しはユーザー空間で行われ、ドライバのコードはカーネル空間で実行されます。カーネル空間自体は通常、カーネルの他の部分を直接呼び出すため、ネストは必要ありませんioctl。結局、これはユーザー空間とカーネル空間の通信を助けるメカニズムです。

だから:

1) 必要がないので誰もしません。

2) これをしてはいけません。

3)本当に必要な場合は、ioctl他の環境をシミュレートできる偽の環境をカーネルに設定できますが、ioctlこれは多くの労力と複雑なソリューションであるため、より簡単な方法で達成できます。

4)これについて考えることはカーネルを理解するのに役立ちません。

関連情報