LinuxカーネルでKasanを使用する
カーネル内のメモリエラー(メモリ破壊や解放済みのメモリ使用など)を検出するカーネルレベルのメモリエラー検出ツールで、Linuxカーネルで使用可能
Linux カーネルで Kasan を利用するには、次の手順が必要です。
- カーネルコンフィグレーション:カーネルコンフィグレーションで、Kasan の機能を有効にします。menuconfig または xconfig で関連するオプションを探して、有効化を選択します。
- カーネルのコンパイル:選んだカーネル設定でカーネルをコンパイルします。makeコマンドを使用してカーネルをコンパイルし、その後make modules_installコマンドを使用してカーネルモジュールをインストールすることができます。
- 起動時にカーネルにkasanオプションを渡すことでKasanを有効化できます。これは、ブートローダーの設定ファイルにkasan=1パラメータを追加することで有効化できます。たとえば、/etc/default/grubファイルを編集してGRUB_CMDLINE_LINUX_DEFAULT行にkasan=1を追加し、その後sudo update-grubコマンドを実行してブートローダーの設定を更新します。
- システムを再起動する:コンピュータを再始動して新しいカーネルをロードし、Kasan を有効にします。
カサンが有効になると、実行時にメモリエラーを検出して、エラーが発生した場合はデバッグ情報を出力します。カーネルログを確認するには dmesg コマンドを使用し、カサンの出力を確認できます。
なお、Kasan は実行時にメモリを検査するため、性能的なオーバーヘッドがあります。そのため、主にデバッグやテストの用途に用いられ、本番環境での継続的な利用には向きません。