10

LKMを介して新しいシステムコールを追加したいのですが、その方法がわかりません。つまり、まったく新しいシステムコールを追加したい場合は、sys_call_tableを調べて、を見つけてsys_ni_syscall置き換えることができますが、実際にに追加できるかどうか知りたいと思いましたsys_call_table。固定サイズの配列であるため、おそらく不可能だと思いますが、未使用のシステムコール番号を上書きせずにシステムコールを追加する他の賢い方法があるかどうか疑問に思いました。

4

3 に答える 3

2

「The Linux Kernel Module Programming Guide」( http://www.tldp.org/LDP/lkmpg/2.6/html/index.html ) については、Linux Documentation Project の Web サイトを確認してください。具体的には、システム コールについては、http ://www.tldp.org/LDP/lkmpg/2.6/html/x978.html を参照してください。少なくとも、それはあなたにスタートを与えるはずです。

于 2009-01-21T05:04:51.873 に答える
2

これは古い質問ですが、それでも解決策を提案したいと思います。「システムコールのような」環境を実装する最も簡単な方法は、偽のデバイスに頼ることです。特に、実際には何も駆動していない新しいデバイス ドライバを作成できます。それでも、それに書き込むと、インストールされたモジュールが必要なアクションを実行する可能性があります。さらに、複数のサービスを提供したい場合は、それらをioctl操作にマップすることができます。

于 2013-11-12T20:33:11.687 に答える