%gsレジスタの用途は何ですか?

%gsレジスタの用途は何ですか?

%gsレジスタについて私が見つけることができる情報は、それが> 32ビットx86アーキテクチャで自由に使用できるレジスタであるように見えることです。システムコールの前にgs_changeが実行されているようです。 このレジスタがどのように使用されているかについての文書を教えてくれる人はいますか?- カーネル/ユーザーモードを切り替えるためのレジスタであるとします。

私の質問の背景は、カーネルスタックトレースと正確に何が起こっているのかを理解しようとしていることです。

スタックトレースは、到着するリフレッシュプロセスで作成されます/proc/sys/kernel/hung_task_timeout_secs

ベストアンサー1

%gsx86 LinuxカーネルのGCC'cスタック保護のために予約されているようです。CONFIG_CC_STACKPROTECTOR設定用に有効スタックカナリア。以下でいくつかの説明を見ることができます。アーチ/x86/include/asm/stackportector.h

おすすめ記事