ユーザ用ツール

サイト用ツール


20180205_linux_4_15_1_retp_gcc

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
20180205_linux_4_15_1_retp_gcc [2018-02-05 23:19]
tosihisa@netfort.gr.jp
20180205_linux_4_15_1_retp_gcc [2018-02-05 23:30] (現在)
tosihisa@netfort.gr.jp
行 1: 行 1:
 +~~socialite~~
 ====== linux-4.15.1 と retpoline 対応 gcc を組み合わせる. ====== ====== linux-4.15.1 と retpoline 対応 gcc を組み合わせる. ======
  
行 13: 行 14:
  
 >     Vulnerable: Minimal generic ASM retpoline >     Vulnerable: Minimal generic ASM retpoline
 +
 +> because only the assembly code (not the C code) will have the
 +> retpoline mitigation. So keep that in mind.
  
 上記のように,コンパイラ(gcc) で ''retpoline'' をサポートしているかどうかで変わるようですので試してみます. 上記のように,コンパイラ(gcc) で ''retpoline'' をサポートしているかどうかで変わるようですので試してみます.
行 31: 行 35:
 ===== linux-4.15.1 と gcc 7.2.1 の組み合わせ ===== ===== linux-4.15.1 と gcc 7.2.1 の組み合わせ =====
  
-gcc 7.2.1 は ''retpoline'' 緩和コード生成に対応しています.この gcc でコンパイルした Linux カーネルでは,以下の様になります.+gcc 7.2.1 は ''retpoline'' コード生成に対応しています.この gcc でコンパイルした Linux カーネルでは,以下の様になります.
  
 <code> <code>
 $ cat /sys/devices/system/cpu/vulnerabilities/spectre_v2 $ cat /sys/devices/system/cpu/vulnerabilities/spectre_v2
 Mitigation: Full generic retpoline Mitigation: Full generic retpoline
 +</code>
 +
 +gcc 7.2.1 は,ソースからダウンロードしてビルドしたものを使用しています.
 +
 +<code>
 +$ /opt/gcc_test/bin/gcc --version
 +gcc (GCC) 7.2.1 20180117
 +Copyright (C) 2017 Free Software Foundation, Inc.
 +This is free software; see the source for copying conditions.  There is NO
 +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 +</code>
 +
 +===== linux-4.15.1 と gcc 6.3.0 の組み合わせ =====
 +
 +Debian 9 の gcc は 6.3.0 で,これは''retpoline'' コード生成に対応していません.
 +この gcc でコンパイルした Linux カーネルでは,以下の様になります.
 +
 +<code>
 +$ cat /sys/devices/system/cpu/vulnerabilities/spectre_v2
 +Vulnerable: Minimal generic ASM retpoline
 +</code>
 +
 +<code>
 +$ gcc --version
 +gcc (Debian 6.3.0-18) 6.3.0 20170516
 +Copyright (C) 2016 Free Software Foundation, Inc.
 +This is free software; see the source for copying conditions.  There is NO
 +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 </code> </code>
  
  
20180205_linux_4_15_1_retp_gcc.1517840397.txt.gz · 最終更新: 2018-02-05 23:19 by tosihisa@netfort.gr.jp