Kapitel 6. Der eBPF-Prüfer

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Ich habe den Verifizierungsschritt schon ein paar Mal erwähnt, du weißt also bereits, dass dieser Verifizierungsprozess sicherstellt, dass das Programm sicher ist, wenn du ein eBPF-Programm in den Kernel lädst. In diesem Kapitel werden wir uns ansehen, wie der Verifizierer arbeitet, um dieses Ziel zu erreichen.

Bei der Verifizierung werden alle möglichen Ausführungspfade durch das Programm geprüft und sichergestellt, dass jede Anweisung sicher ist. Der Verifizierer nimmt auch einige Änderungen am Bytecode vor, um ihn für die Ausführung vorzubereiten. In diesem Kapitel zeige ich einige Beispiele für Fehler bei der Verifizierung, indem ich von einem funktionierenden Beispiel ausgehe und Änderungen vornehme, die den Code für den Verifizierer ungültig machen.

Hinweis

Der Beispielcode für dieses Kapitel befindet sich im Verzeichnis chapter6 des Repositorys unter github.com/lizrice/learning-ebpf.

In diesem Kapitel wird nicht versucht, jede mögliche Prüfung des Verifizierers abzudecken. Es ist als Überblick gedacht und enthält anschauliche Beispiele, die dir helfen sollen, mit Überprüfungsfehlern umzugehen, auf die du beim Schreiben deines eigenen eBPF-Codes stoßen könntest.

Eine Sache, die du beachten musst, ist, dass der Verifier mit dem eBPF Bytecode arbeitet, nicht direkt mit dem Quellcode. Dieser Bytecode hängt von der ...

Get eBPF lernen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.