tcpdump mailing list archives
Re: BPF64: proposal of platform-independent hardware-friendly backwards-compatible eBPF alternative
From: Vadim Goncharov <vadimnuclight () gmail com>
Date: Tue, 10 Sep 2024 14:45:57 +0300
On Tue, 10 Sep 2024 06:38:50 +0000 "Poul-Henning Kamp" <phk () phk freebsd dk> wrote:
-------- Vadim Goncharov writes:I've put a sketch of design to https://github.com/nuclight/bpf64 with files:Counter proposal: 1. Define the Lua execution environment in the kernel. 2. Add syscall to submit a precompiled Lua program (as bytecode)
Anyone who thinks "any generic bytecode" misses the main point, see below.
3. Add syscall to execute submitted Lua program And yes: I'm being 100% serious.
Well, preparing spec/letter in a rush I probably forgot the main reason for BPF (and successors) to exist thinking it's obviuos: safety. Let's restate: *BPF* allows UNTRUSTED user code to be executed SAFELY in kernel. It's easy for your Lua code (or whatever) code to hang kernel by infinite loop. Or crash it by access on arbitrary pointer. That's why original BPF has no backward jumps and memory access, and eBPF's nightmare verifier walks all code paths and check pointers. And that's why DTrace also has it's own VM and bytecode in kernel (see https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-924.pdf Chapter 7) Your "counter proposal" was essentially available for all these decades in form "oh, just write KLD in C instead of that limited tcpdump".
If we are going to reinvent "Channel Programs" 67 years after IBM came up with them for their 709 vacuum tube computer, at the very least we should use a sensible language syntax.
Don't know what that is, quick googling shows something modern on AMQP. But Lua at least doesn't have *sensible* syntax, Perl or Tcl much better. And I'm surprised why Fort, being available in loader, wasn't ported for all these years. -- WBR, @nuclight _______________________________________________ tcpdump-workers mailing list -- tcpdump-workers () lists tcpdump org To unsubscribe send an email to tcpdump-workers-leave () lists tcpdump org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
Current thread:
- BPF64: proposal of platform-independent hardware-friendly backwards-compatible eBPF alternative Vadim Goncharov (Sep 09)
- Message not available
- Re: BPF64: proposal of platform-independent hardware-friendly backwards-compatible eBPF alternative Vadim Goncharov (Sep 10)
- Message not available
- Message not available
- Message not available
- Re: BPF64: proposal of platform-independent hardware-friendly backwards-compatible eBPF alternative Vadim Goncharov (Sep 10)
- Re: BPF64: proposal of platform-independent hardware-friendly backwards-compatible eBPF alternative Vadim Goncharov (Sep 10)
- Message not available
- Re: BPF64: proposal of platform-independent hardware-friendly backwards-compatible eBPF alternative Vadim Goncharov (Sep 10)
