Capítulo 6. El verificador eBPF
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
He mencionado el paso de verificación unas cuantas veces, así que ya sabes que cuando cargas un programa eBPF en el núcleo, este proceso de verificación garantiza que el programa es seguro. En este capítulo nos sumergiremos en cómo funciona el verificador para lograr este objetivo.
La verificación implica comprobar todas las posibles rutas de ejecución a través del programa y asegurarse de que cada instrucción es segura. El verificador también realiza algunas actualizaciones en el código de bytes para prepararlo para la ejecución. En este capítulo mostraré algunos ejemplos de fallos de verificación, partiendo de un ejemplo que funciona y haciendo modificaciones que hacen que ese código no sea válido para el verificador.
Nota
El código de ejemplo de este capítulo está en el directorio chapter6 del repositorio en github.com/lizrice/learning-ebpf.
Este capítulo no pretende abarcar todas las comprobaciones posibles que realiza el verificador. Pretende ser una visión general, con ejemplos ilustrativos que te ayudarán a enfrentarte a los errores de verificación que puedas encontrarte al escribir tu propio código eBPF.
Una cosa que hay que tener en cuenta es que el verificador trabaja sobre el bytecode de eBPF, no directamente sobre el código fuente. Ese bytecode depende de la salida del compilador. Debido a cosas como la optimización del ...
Get Aprendizaje eBPF 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.