%gsレジスタについて私が見つけることができる情報は、それが> 32ビットx86アーキテクチャで自由に使用できるレジスタであるように見えることです。システムコールの前にgs_changeが実行されているようです。 このレジスタがどのように使用されているかについての文書を教えてくれる人はいますか?- カーネル/ユーザーモードを切り替えるためのレジスタであるとします。
私の質問の背景は、カーネルスタックトレースと正確に何が起こっているのかを理解しようとしていることです。
スタックトレースは、到着するリフレッシュプロセスで作成されます/proc/sys/kernel/hung_task_timeout_secs
。
ベストアンサー1
%gs
x86 LinuxカーネルのGCC'cスタック保護のために予約されているようです。CONFIG_CC_STACKPROTECTOR
設定用に有効スタックカナリア。以下でいくつかの説明を見ることができます。アーチ/x86/include/asm/stackportector.h。