-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hi,
Am Fr den 27. Apr 2018 um 6:42 schrieb Nikos Chantziaras: > On 26/04/18 14:42, Mick wrote: > > Hmm ... why is my Intel system missing 'IBPB' & 'IBRS_FW' ? > > > > $ grep . /sys/devices/system/cpu/vulnerabilities/* > > /sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI > > /sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user > > pointer > > sanitization > > /sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic > > retpoline I did install and compile 4.15.18, the last version from branch 4.15. Unfortunatelly I just get the following: ~> uname -a Linux tha 4.15.18-gentoo #2 Fri Apr 27 13:33:03 CET 2018 i686 Intel(R) Pentium(R) M processor 1.86GHz GenuineIntel GNU/Linux ~> grep . /sys/devices/system/cpu/vulnerabilities/* /sys/devices/system/cpu/vulnerabilities/meltdown:Vulnerable /sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization /sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic ASM retpoline The problem here is, that this is a 32bit system and the CPU is not able to run 64bit. So there are some points I want to point to: - - Meltdown is fully vulnerable. While there is a fix for 64bit kernel, I would like to know when or if gentoo will port the mitigation for 32bit systems. - - For Spectre 2, there is some mitigation in kernel but the compiler is to old to support retpoline. When I look to gcc meta data, I see a couples of versions: ~> equery m gcc * sys-devel/gcc [gentoo] Maintainer: toolch...@gentoo.org (Gentoo Toolchain Project) Upstream: Remote-ID: cpe:/a:gnu:gcc ID: cpe Remote-ID: dgcc ID: sourceforge Homepage: https://gcc.gnu.org/ Location: /usr/portage/sys-devel/gcc Keywords: 2.95.3-r10:2.95.3: ~alpha ~ppc ~sparc ~x86 Keywords: 3.3.6-r1:3.3.6: ~amd64 ~x86 Keywords: 3.4.6-r2:3.4.6: alpha amd64 arm ppc ppc64 sparc x86 ~ia64 ~mips ~s390 ~sh -* ~x86-fbsd Keywords: 4.0.4:4.0.4: Keywords: 4.1.2:4.1.2: alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~m68k ~mips ~s390 ~sh -* ~x86-fbsd Keywords: 4.2.4-r1:4.2.4: hppa ~alpha ~amd64 ~arm ~ia64 ~m68k ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd Keywords: 4.3.6-r1:4.3.6: -hppa alpha amd64 arm ia64 ppc ppc64 sparc x86 ~m68k ~mips ~s390 ~sh ~x86-fbsd Keywords: 4.4.7:4.4.7: alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~m68k ~mips ~s390 ~sh ~x86-fbsd Keywords: 4.5.4:4.5.4: alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~m68k ~mips ~s390 ~sh ~x86-fbsd Keywords: 4.6.4:4.6.4: alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~m68k ~mips ~s390 ~sh ~x86-fbsd Keywords: 4.7.4-r1:4.7.4: -amd64-fbsd -x86-fbsd alpha amd64 arm hppa ia64 m68k ppc ppc64 s390 sh sparc x86 ~mips Keywords: 4.8.5-r1:4.8.5: alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~mips ~x86-fbsd Keywords: 4.9.4:4.9.4: alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~mips ~x86-fbsd Keywords: 5.4.0-r4:5.4.0: alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~mips ~x86-fbsd Keywords: 6.4.0:6.4.0: Keywords: 6.4.0-r1:6.4.0: alpha amd64 arm arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~m68k ~mips ~s390 ~sh ~x86-fbsd Keywords: 7.2.0:7.2.0: Keywords: 7.2.0-r1:7.2.0: ~alpha ~amd64 ~amd64-fbsd ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd Keywords: 7.3.0:7.3.0: Keywords: 7.3.0-r1:7.3.0: ~alpha ~amd64 ~amd64-fbsd ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd Keywords: 7.3.0-r2:7.3.0: License: GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+ So which version is stable enough to use? 7.3.0, I use on a different (non-Gentoo) system. But why -r1 and -r2? > Do you have the latest sys-firmware/intel-microcode installed and configured > correctly? You need to enable the "early microcode" kernel option, and you > also need to add /boot/intel-uc.img to your list of initrds to load in > grub2. Alternatively, a BIOS update for your mainboard (if one exists; most > older mainboards won't get updates from the likes of Asus, MSI, Gigabyte, > etc, etc, etc, so for older boards, you need the microcode package.) So, coming to firmware. I do not think that intel is releasing firmware update for that CPU. So I fully rely on kernel (and compiler). Nevertheless, I need to know for other system what exactly is the way to use firmware on gentoo. There is no /boot/intel-uc.img on my system and genkernel complain about firmware compiling (what seems to prove that there is none for my CPU). However, if I read correct, genkernel should automatically include firmware and firmware loading into the generated ramdisk. Right? Regards Klaus - -- Klaus Ethgen http://www.ethgen.ch/ pub 4096R/4E20AF1C 2011-05-16 Klaus Ethgen <kl...@ethgen.ch> Fingerprint: 85D4 CA42 952C 949B 1753 62B3 79D0 B06F 4E20 AF1C -----BEGIN PGP SIGNATURE----- Comment: Charset: ISO-8859-1 iQGzBAEBCgAdFiEEMWF28vh4/UMJJLQEpnwKsYAZ9qwFAlrjW74ACgkQpnwKsYAZ 9qyM5QwAsj0M5TT3O+RYPXana71nzgWjd72m0DuCDO/Yfw+79G0NuWrMFwyU/WkZ OPlspMBRvOxo1UTuOMuUZ7wVqcQNen9m/3XZOQdmhO7NpqdfI5IozZH5dm0tdUcH qOEcxkQQPj5h9fLqyfiOjKhOFKEtHIF4FuApaJuR2xGhTd4rV5Blm1zLBBZ1uSU6 ImpizYQ4kvCMj/n9L+1S6dd+iqlF0jQBDYw98mcYp3UU8iziA75Kq2a87ZFtjo0y mENiyu8A4RS+WBItT5jVYDymozs3zeWsbgmNH8k1O4CTy30OqeLiZQdfGow2MC+x 4D0rLmN7Ky+ZDMZARtUPhvbkdC+nUMkfveOOKZbpe3qaAa+8QwVZVV8rC2I7fK8T kex6adlaN1e8GU9UyeR7mKc5cjESRudM6wcZSJ1ZEx3uLq03IIcdJAoyyBHQz1OC oQil2Vf4SP0QMhAEp/D4XziEzbkZxNErXwGJfVDHSPlB9wtRs4Mf3F2PGOI20h6S 71mhfjLK =BqH+ -----END PGP SIGNATURE-----