Extending the Linux Kernel with Built-In Kernel Headers
linuxjournal.com
Extending the Linux Kernel with Built-In Kernel Headers
1–10 of 62 posts
Re: Extending the Linux Kernel with Built-In Kernel Headers
#2eeww
Re: Extending the Linux Kernel with Built-In Kernel Headers
#3Re: Extending the Linux Kernel with Built-In Kernel Headers
#4Re: Extending the Linux Kernel with Built-In Kernel Headers
#5Why can't they build the eBPF bytecode offline using the correct kernel API and ship the bytecode to the Android device?
If you were able to load bytecode directly, you’d skip this verification step.
(I’ve always thought VM runtimes should have signing keys, sign build artifacts—e.g. bytecode—as they create them, and then have the VM’s module loader check the signature. This way, you could still rely on build-time static verification for your security, while also being able to share compiled artifacts among any set of runtimes that trust one-another’s signing keys.)
Re: Extending the Linux Kernel with Built-In Kernel Headers
#6It’s a simple and practical solution. It irks me for some reason but I can’t think of something better.
This isn't really just a C problem though. Even rust has a similar problem for propagating macros. The reason for this limitation is really that making an ABI for metaprograms (macros) is exceedingly difficult
Re: Extending the Linux Kernel with Built-In Kernel Headers
#7Why can't they build the eBPF bytecode offline using the correct kernel API and ship the bytecode to the Android device?
If it’s anything like GPU shaders, it’s because the bytecode format itself is Turing-complete and not-so-sandboxed, and the actual security/fault-tolerance comes from a static analysis pass done during compilation that ensures the source code being compiled isn’t doing anything crazy. If you were able to load bytecode directly, you’d skip this verification step. (I’ve always thought VM runtimes should have signing ke…
Re: Extending the Linux Kernel with Built-In Kernel Headers
#8Re: Extending the Linux Kernel with Built-In Kernel Headers
#9Why can't they build the eBPF bytecode offline using the correct kernel API and ship the bytecode to the Android device?
If it’s anything like GPU shaders, it’s because the bytecode format itself is Turing-complete and not-so-sandboxed, and the actual security/fault-tolerance comes from a static analysis pass done during compilation that ensures the source code being compiled isn’t doing anything crazy. If you were able to load bytecode directly, you’d skip this verification step. (I’ve always thought VM runtimes should have signing ke…
Re: Extending the Linux Kernel with Built-In Kernel Headers
#10> embed the kernel headers within the kernel image itself and make it available through the sysfs virtual filesystem (usually mounted at /sys) as a compressed archive file (/sys/kernel/kheaders.tar.xz) eeww