
W^X メカニズム (続き)


ページ単位 X ビットをサポートする CPU で W^X に 移行する手順の要約 :

sigtramp をスタックから分離する
GOT/PLT を書き込み不可にする (自身のページに移動させる)
dtor/ctor を書き込み不可にする (その他のページに移動させる)

i386 で必要な手順 :

コード セグメント制限を 512MB に設定する
すべての実行可能な部分を下に移動し、すべての書き込み可能な 部分を上に移動する

powerpc:

i386 の場合と同様の手法が必要だが、より複雑であり、
まだ実装されていない

将来はカーネル内での W^X の使用が可能に?

パフォーマンスの向上:	アーキテクチャによっては処理速度が向上する
 (TLB カラーリングによる)
セキュリティの強化: 部分的な W^X でもソフトウェアのバグを発見できる
コストが非常に低い:	すべての OS ベンダがコスト削減を目指すべきである

