3 个仓库
Executing compiled instructions within the operating system kernel via specialized hooks.
Distinct from Kernel Networking Hooks: None of the candidates describe the general architectural mechanism of loading and executing eBPF bytecode in the kernel.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Kernel Bytecode Execution. Refine with filters or upvote what's useful.
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
Loads compiled instructions into the kernel to trigger logic based on specific system events or network hooks.
Aya is a Rust-native framework for writing, compiling, and loading eBPF programs into the Linux kernel. It provides a complete development environment that eliminates the need for a C toolchain or libbpf, allowing developers to work entirely within the Rust ecosystem. The framework manages the full lifecycle of eBPF programs, including async runtime integration, CO-RE BTF resolution for kernel version portability, ELF-based program loading, and safe kernel memory access. The framework distinguishes itself through its pure Rust compilation pipeline, which compiles Rust source code directly int
Loads compiled eBPF bytecode into the Linux kernel for execution.
该项目是一个教育资源,提供了一个全面的开发教程,用于在 Linux 内核中使用 C、Go 和 Rust 编写并加载 eBPF 程序。它作为一个技术指南,用于开发直接在内核中执行的自定义逻辑。 这些材料涵盖了专门的领域,包括内核可观测性和追踪、用于入侵检测的安全实现,以及用于包过滤和负载均衡的高性能网络工程。它还包括用于 Linux 内核追踪以及使用 kprobes、uprobes 和 tracepoints 的专用手册。 该项目涵盖了广泛的功能领域,如内核插桩、系统监控和可观测性、网络分析以及安全强制执行。它进一步扩展到 GPU 和驱动程序的硬件级调试,以及底层系统操作和资源管理。
Validates bytecode properties and memory access before execution to ensure kernel stability and prevent crashes.