ユーザー アセンブリがそれらに書き込まれないように、Linux カーネルによって保護されているレジスタを確認するにはどうすればよいですか?
質問する
1292 次
1 に答える
18
まず、Linux カーネル自体は実際にはレジスタを保護していないことに注意してください。ユーザー アプリケーションが特権レベル 3 (最低の特権) で実行されるようにするだけです。その時点から、レジスタの保護を強制するのはプロセッサです。
以下は、特権レベル 0 (つまり、カーネル) からのみアクセスできるレジスタのリストです。
- 制御レジスタ (
CR0
-CR4
) GDTR
、LDTR
およびIDTR
(グローバル/ローカル/割り込み記述子テーブル レジスタ)TR
(タスク登録)- デバッグレジスタ (
DR0
-DR7
) - すべてのモデル固有のレジスタ (
MSR
s)
x86 での保護に関する詳細な説明については、Intel のシステム プログラミング マニュアルの第 5 章を参照してください。
于 2012-04-17T07:23:22.057 に答える