64ビットカーネルを設定するときに「DEBUG_STACKOVERFLOW」を有効にできないのはなぜですか?

64ビットカーネルを設定するときに「DEBUG_STACKOVERFLOW」を有効にできないのはなぜですか?

デバッグ用にLinuxカーネルを設定するためにmenuconfigを使用していますが、DEBUG_STACKOVERFLOWが32ビットシステムでのみ機能しているように見えるのはなぜですか?ここに画像の説明を入力してください。

スクリーンショットに示すように、HAVE_DEBUG_STACKOVERFLOWを有効にするにはシステムが32ビットでなければなりません。 64ビットシステム用にコンパイルすると、デフォルトで有効になっていますか? Google は私に何の回答も提供していません。

ベストアンサー1

x86_64はスタックオーバーフローチェックを使用しましたが、すべてのスタックタイプにガードページを追加して削除する。ガードページは、安定したオーバーフロー保護を提供し、追加のチェックを必要としないため、スタックオーバーフローチェックが重複します。

おすすめ記事