Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.4. ユーザー空間用のメモリー保護キー (別名 PKU または PKEYS)

メモリー保護キーは、ページベースの保護を強化するメカニズムを提供しますが、アプリケーションが保護ドメインを変更した時にページテーブルを修正する必要はありません。これは、各ページテーブルエントリーで以前無視されていた 4 ビットを「保護キー」に割り当て、可能なキーを 16 個提供することで有効となります。

メモリー保護キーは、いくつかの Intel CPU チップセットのハードウェア機能です。プロセッサーがこの機能をサポートしているかどうかは、pku in /proc/cpuinfo の存在を確認します。

$ grep pku /proc/cpuinfo

この機能をサポートするために、CPU は各キーに対して 2 つの別々のビット (Access Disable と Write Disable) を持つ、ユーザーがアクセス可能な新しいレジスター (PKRU) を提供します。この新しいレジスターの読み取りおよび書き込み用の新しい命令が 2 つ (RDPKRU と WRPKRU) 存在します。

プログラミングの実例を含む詳しい情報は、kernel-doc パッケージが提供する /usr/share/doc/kernel-doc-*/Documentation/x86/protection-keys.txt を参照してください。