1

Linux で _syscall0 から _syscall6 を使用して異なる数のパラメーターを処理する理由は何だろうと思っていました。_syscall6 だけを使用し、呼び出し元のコードが未使用のパラメーターに null 値を渡すようにすることで、セキュリティ/パフォーマンスの問題はありますか?

4

1 に答える 1

1

必要なレジスタ コピーの数を減らし、パフォーマンスを向上させるために必要です。

各パラメーターは、ユーザーの ABI からカーネル内のパラメーター受け渡し規則に移動する必要があります。

また、そのようなシステムコールの中には、アドレス パラメータによって異なる動作をするものがあります。しかし、そのような変換は少数のアーチで必要です。

于 2010-02-07T03:23:44.307 に答える