[Eisfair] [e1] eiskernel 3.20.0 (Status 'stable') verfügbar - 3.16er Kernel für eisfair-1

Thomas Bork tom at eisfair.org
So Okt 14 22:54:22 CEST 2018


Hi @all,

es ist eine Version 3.20.0 von eiskernel mit dem Status 'testing' für 
eisfair-1 verfügbar.

Intern wird hierfür der Kernel 3.16.58 aus der Kernel-Serie 3.16 
verwendet, die zur Zeit als longterm-Variante die längst mögliche 
Unterstützung bietet.

Siehe dazu:

https://www.kernel.org/category/releases.html

Obwohl der Kernel die PTI-Patches enthält, werden diese bei eisfair-1 
nicht aktiv, da die bisherige Implementation nicht bei 32-Bit-Kerneln 
greift.

https://de.wikipedia.org/wiki/Kernel_page-table_isolation

Aber es wird die Verwundbarkeit durch Spectre (v1/v2) in dieser 
Kernel-Version und mit Hilfe das gcc 8.1.1 vermindert.

https://de.wikipedia.org/wiki/Spectre_(Sicherheitsl%C3%BCcke)

Das sieht dann mit meiner CPU unter 32 Bit so aus:

kernel316 # dmesg | grep -i spectre
[    0.000801] Spectre V2 : Mitigation: Full generic retpoline
[    0.000803] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling 
RSB on context switch

kernel316 # ls -l /sys/devices/system/cpu/vulnerabilities/
total 0
-r--r--r-- 1 root root 4096 Sep 27 23:36 meltdown
-r--r--r-- 1 root root 4096 Sep 27 23:36 spectre_v1
-r--r--r-- 1 root root 4096 Sep 27 23:36 spectre_v2

kernel316 # cat /sys/devices/system/cpu/vulnerabilities/meltdown
Vulnerable

Es gibt noch keine PTI für 32 Bit in unserem Kernel 3.16.58.
Wir sind verwundbar.

kernel316 # cat /sys/devices/system/cpu/vulnerabilities/spectre_v1
Mitigation: __user pointer sanitization

Unterstützung ist im Kernel. Die Gefahr wird abgemildert.

kernel316 # cat /sys/devices/system/cpu/vulnerabilities/spectre_v2
Mitigation: Full generic retpoline

Der Kernel wurde mit einem gcc mit retpoline-Support gebaut. Wir sind 
geschützt.


Dieser Kernel wird in 3 Varianten angeboten (alle 32-Bit):

1. SMP
2. PAE
3. VIRT

Der SMP-Kernel unterstützt Systeme mit einem oder mehreren Prozessoren 
und Prozessoren mit einem oder mehreren physikalischen oder virtuellen 
Kernen.

Der PAE-Kernel ist der SMP-Kernel plus PAE und Sparse-Memory-Model. Die 
CPU muss die Features cmov und pae unterstützen - das wird bei der 
Installation überprüft.

Ein emulierter mathematischer Co-Prozessor (CONFIG_MATH_EMULATION) ist 
nur noch bei SMP gesetzt (um auch alte 486 ohne Co-Prozessor zu 
unterstützen). Ab PAE ist sowieso immer ein solcher Co-Prozessor 
vorhanden, PAE und VIRT bringen die Emulation deswegen bei uns nicht mit 
- das spart Platz.
Ab PAE ist das NX-Bit gesetzt, PAE und VIRT sind somit sicherer als SMP. 
Ab PAE ist ausserdem CONFIG_TRANSPARENT_HUGEPAGE gesetzt.

Wenn man einen Prozessor verwendet, der cmov und pae unterstützt und 
wenn man noch dazu mehr als 4GB RAM ansprechen möchte, sollte man also 
die PAE-Variante installieren.

Der VIRT-Kernel sollte alle notwendigen Features mitbringen (die die 
verwendete Kernel-Version anbietet), um als Gast-Kernel auf 
Virtualisierungs-Systemen zu laufen. Er ist der PAE-Kernel, erweitert um 
Funktionen für Xen, KVM und Hyper-V.

Diese Kernel-Pakete lassen sich auf allen Systemen mit laufendem Kernel 
3.2.xx-eisfair-1 und 3.16.xx-eisfair-1 installieren.

Beim Update von einem älteren Kernel als 3.16.58-eisfair-1 aus wird *bei 
genügend Platz in /boot* ein lilo-Start-Eintrag für diesen Kernel 
erzeugt, wenn noch kein Backup unter /boot existiert, um problemlos 
diesen alten stabilen Kernel booten zu können. Beim Update von 
3.16.58-eisfair-1 aus werden alle alten Kernel samt der Fallbacks 
gelöscht, wenn dieser Kernel den stabilen Status erreicht.

Zu den angegebenen eiskernel-Namen (z.B. 3.16.58-eisfair-1) und den 
darin enthaltenen Versionen siehe [1].

Denkt daran, eventuell bei Euch installierte kernel-abhängige Treiber 
(z.B. die AVM- und Dahdi-Module) für diesen Kernel vorher zu 
installieren, da der Name sich geändert hat!


Änderungen zum stabilen eiskernel 3.18.1:
=========================================
- Name auf 3.16.58-eisfair-1 geändert (war 3.16.57-eisfair-1).
- Alle Patches bis zu 3.16.58 integriert (war 3.16.57).
- usbip ist jetzt auf dem Stand von 3.16.58. Das usbip-Paket
   funktioniert mit diesem Kernel nicht, bevor es komplett überarbeitet
   wurde. Daher wurde das Paket gesperrt.
- e1000e 3.4.1.1 -> 3.4.2.1
- igb 5.3.5.15 -> 5.3.5.20
- r8101 1.031.02 -> 1.033.00
- r8168 8.044.02 -> 8.046.00
- WireGuard-0.0.20180910 integriert.
- Support für AMD fam17h Microcode loading.
- /include/linux/log2.h an gcc8 angepasst.
- /tmp/create-devices entfernt (udev).
- /tmp/install.sh:
   Warnung wenn usbip package installiert ist. Das Paket ist
   nicht kompatibel mit den usbip-Modulen in diesem Kernel.


Dieses Paket bei https://pack-eis.de:
=====================================
PAE : https://www.pack-eis.de/index.php?p=26943
SMP : https://www.pack-eis.de/index.php?p=26946
VIRT: https://www.pack-eis.de/index.php?p=26950


Gleichzeitig wird wie gewohnt auch das Paket eiskernel-dev mit den 
Quellen passend zu diesem Kernel freigegeben.


Änderungen zum vorherigen stabilen eiskernel-dev 3.18.1:
========================================================
- Basiert auf 3.16.58 (war 3.16.57).
- usbip ist jetzt auf dem Stand von 3.16.58.
- Setzt installierten eiskernel 3.19.0 voraus.
- Lädt 3.16.58 herunter (war 3.16.57).
- e1000e 3.4.1.1 -> 3.4.2.1
- igb 5.3.5.15 -> 5.3.5.20
- r8101 1.031.02 -> 1.033.00
- r8168 8.044.02 -> 8.046.00
- require gcc8 2.8.4.
- Es wird gcc8 als Standard-Compiler gesetzt.


Dieses Paket bei https://pack-eis.de:
=====================================
https://www.pack-eis.de/index.php?p=26951


Der Kernel 3.16.58:
===================
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/?id=refs/tags/v3.16.58


[1]
Übersicht der 3.16er eiskernel-1-Pakete:
========================================

eiskernel-Vers.|  eiskernel-Name   | Patchlevel Vanilla
_______________________________________________________
3.20.0         | 3.16.58-eisfair-1 | 3.16.58
3.19.0         | 3.16.58-eisfair-1 | 3.16.58
3.18.1         | 3.16.57-eisfair-1 | 3.16.57
3.18.0         | 3.16.57-eisfair-1 | 3.16.57
3.17.0         | 3.16.57-eisfair-1 | 3.16.57
3.16.0         | 3.16.56-eisfair-1 | 3.16.56
3.15.0         | 3.16.56-eisfair-1 | 3.16.56
3.14.1         | 3.16.54-eisfair-1 | 3.16.54
3.14.0         | 3.16.54-eisfair-1 | 3.16.54
3.13.0         | 3.16.54-eisfair-1 | 3.16.54
3.12.0         | 3.16.52-eisfair-1 | 3.16.52
3.11.0         | 3.16.52-eisfair-1 | 3.16.52
3.10.0         | 3.16.50-eisfair-1 | 3.16.50
3.9.0          | 3.16.50-eisfair-1 | 3.16.50
3.8.0          | 3.16.47-eisfair-1 | 3.16.47
3.7.0          | 3.16.47-eisfair-1 | 3.16.47
3.6.0          | 3.16.46-eisfair-1 | 3.16.46
3.5.0          | 3.16.46-eisfair-1 | 3.16.46
3.4.1          | 3.16.44-eisfair-1 | 3.16.45
3.4.0          | 3.16.44-eisfair-1 | 3.16.44
3.3.1          | 3.16.44-eisfair-1 | 3.16.44
3.3.0          | 3.16.44-eisfair-1 | 3.16.44
3.2.0          | 3.16.42-eisfair-1 | 3.16.43
3.1.2          | 3.16.42-eisfair-1 | 3.16.43
3.1.1          | 3.16.42-eisfair-1 | 3.16.43
3.1.0          | 3.16.42-eisfair-1 | 3.16.42


Ich danke allen Mitgliedern des Teams für Tests und Unterstützung und 
wünsche allen Anwendern weiterhin viel Spass mit eisfair!


Das Posting geht parallel an spline.eisfair und spline.eisfair.dev.
Produktive Rückmeldungen bitte an spline.eisfair.

-- 
der tom
[eisfair-team]


Mehr Informationen über die Mailingliste Eisfair