mips アーキテクチャ用の SSP サポートを備えた Linux カーネル モジュールを構築しました。-fstack-protector-allをコンパイル フラグに追加しました。しかし、このモジュールをロードした後、__stack_chk_guardおよび__stack_chk_failへの未定義の参照があります。しかし、libssp.soをリンカに追加しました。これらのシンボルを次のようにカーネルにエクスポートする必要があるようです。
EXPORT_SYMBOL(__stack_chk_guard);
私のカーネルは古く、まだそれらを含んでいなかったからです。残念ながら、このバージョンを使用する必要があります。
私の質問は、ユーザー空間ではツールチェーン ライブラリからこのシンボルを使用できるのに、カーネル空間では使用できないのはなぜですか?
Linux カーネルの重要事項をいくつか見逃していたと思います。