2

Linux 2.6.32.60 x86 カーネルに、タスク構造体に追加したフィールドに基づいてすべてのシステム コールをブロックできる機能を実装しようとしています。これは基本的に次の形式になります。

task_struct ts;
if(ts-> added_field == 0)
    //do system call normally
else
   //don't do system call

これを entry_32.S で直接行うべきか、それとも syscall テーブルを他の場所で呼び出す方法を変更できるかどうか疑問に思っていました。entry_32.S を直接変更する際の問題は、呼び出しを行っているタスク構造体にアクセスできるかどうかわからないことです。

助けてくれてありがとう!

4

2 に答える 2

2

カーネルにはすでに、 seccomp ( LWN article )と呼ばれる非常によく似た機能があります。何か新しいものを実装するのではなく、これに基づいて機能を検討することをお勧めします。

于 2013-11-03T00:22:58.073 に答える