Die Neuerungen von Linux 4.17

Seite 3: Notebook-Akkus kontrollierter laden, Thunderbolt-Sicherheit

Inhaltsverzeichnis

Die Kernel-Entwickler haben den Hardware-Support abermals deutlich verbessert, indem sie Dutzende neuer Treiber aufgenommen und viele existierende verbessert haben. All diese Verbesserungen zu erläutern würde den Rahmen sprengen, daher nennt das Kernel-Log nur einige exemplarisch.

Neu dabei ist etwa Support für die von verschiedenen Herstellern erhältlichen USB-Audio-Chips, die die USB Audio Class 3.0 implementieren. Zum Kernel stießen auch Treiber für den PhoenixRC Flight Controller Adapter, den DVB T/T2 Tuner & Demodulator Sony CXD2880 und die dritte Generation der Wacom-Grafiktablets Intuos BT. Linux spricht jetzt auch einige per USB angebundene Touchpads von ELAN effizienter an, die etwa in HP-Pavilion-x2-Notebooks der 10-p0xx-Serie sitzen.

Erstmals dabei ist auch der Treiber Ice, der für Netzwerkchips der Intel E800 Ethernet Series zuständig ist. Der Iwlwifi-Treiber unterstützt jetzt deutlich mehr WLAN-Chips der 9000er-Serie. Der bei Linux 4.14 aufs Abstellgleis verlagerte Code, mit den sich Netzwerkverbindungen über das Infrarot-Protokoll IrDA aufbauen lassen, wurde wie angedroht entfernt.

Über den neuen Treiber für das Time and Alarm Device (TAD) lässt sich dieses bei ACPI 6.2 definierte Hardware-Schnittstelle konfigurieren, die flexibler sein soll als das zeitgesteuerte Aufwachen via RTC Alarm. Der Thunderbolt-Code unterstützt jetzt Intels Titan-Ridge-Controller und beherrscht den Security-Level USB-only (SL4); darüber hinaus bietet er jetzt eine Schnittstelle, über die man die Access Control List (ACL) mit vertrauenswürdigen Geräten aktualisieren kann, die die Firmware beim Booten automatisch einbinden darf.

Der Power-Management-Code kann jetzt Dateien in /sys/class/power_supply/BATn/ bereitstellen. Über die lässt sich unter anderem festlegen, ab welchem Entladegrad die Firmware mit dem Laden beginnen und bei welchem Niveau sie das Laden stoppen soll. Entsprechende Funktionen finden sich bei manchen Notebooks und können die Lebensdauer von Akkus steigern. Bislang ließen sich die Werte aber oft nur via BIOS-Setup einstellen. Damit man sie auch via Linux konfigurieren kann, müssen sowohl Notebooks als auch Platform-Treiber die Funktion unterstützen. Bei 4.17 hat das nur der für Thinkpads von Lenovo zuständige Platform-Treiber Thinkpad-Acpi gelernt. TLP soll diese Schnittstellen bald nutzen können; das Power-Management-Tool kann dadurch seine Funktionen für die Ladesteuerung bei Thinkpads ohne das externe Kernel-Modul bereitstellen, das bislang dazu erforderlich war.

Eine Reihe kleinerer Verbesserungen am Prozess-Scheduler verspricht, die Performance in bestimmten Situationen zu verbessern. Das Sicherheits-Framework AppArmor beherrscht endlich Socket Mediation, was eine Voraussetzung für die striktere Anwendungsisolation ist, die das Paketformat Snap ermöglicht.

Das Crypto-Subsystem implementiert nun Cipher FeedBack, das zur Kryptographie mit TPM2 wichtig ist. Neu dabei ist Support für den Speck Cipher, der zur Verschlüsselung von Blockgeräten ausgelegt ist; auf Geräten ohne AES-Beschleuniger soll er schneller arbeiten als das verbreitete AES.

Wie seit einer Weile üblich gibt es auch diesmal wieder eine Reihe von Neuerungen im Netzwerksubsystem, die sich um den BPF drehen – also die manchmal auch eBPF genannte Virtual Machine des Linux Kernels, die aus dem gelegentlich auch cBPF (classic BPF) genannten Berkeley Packet Filter (BPF) hervorgegangen ist; die Virtual Machine hieß zeitweise auch eBPF (enhanced BPF), wird mittlerweile aber oft schlicht "BPF" genannt, obwohl sie mit dem Berkeley Packet Filter nur noch wenig gemein hat.

Eine der Neuerungen rüstet beispielsweise Eingriffspunkte nach, über die mit dem BPF ausgeführte Programme den Datenverkehr filtern können, die normale Anwendungen über die Syscalls sendmsg() oder sendfile() verschicken; Details liefert ein Kommentar der bpf-sockmap-ulp genannten Erweiterung.

Neu sind auch Hooks bei den System Calls bind() und connect(), über die BPF-Programme das Verhalten dieser beim Verbindungsaufbau genutzten Systemaufrufe anpassen können; die zuständigen Entwickler wollen darüber Probleme auf Systemen vermeiden, auf denen alle Programme einer Control Group (Cgroup) mit einem Glibc-LD_PRELOAD-Trick nur eine IP-Adressen verwenden sollen, der Host aber über mehrere IP-Adressen erreichbar ist. Details dazu liefert der Commit-Kommentar der "Hooks for sys_bind.

Neu dabei ist auch der BPF-Programmtyp "BPF_RAW_TRACEPOINT", über den der Kernel BPF-Programme beim Antreffen eines Tracepoints ausführt, ohne dessen Argumente zu verarbeiten; das ermöglicht Tracing mit minimalem Overhead, verlangt aber mehr Sorgfalt beim Programmieren der Filterprogramme für den BPF.