Conversation

everytime i hear about eBPF being the preferred (or, more frequently, only) interface for new Linux functionality, some part of me dies inside
2
39
case in point: to launch a program using a different routing context (networking people call these VRFs) than the default routing context, you have to use eBPF to do it
6
13
Replying to
REUSEPORT is another example. They provided a way to distribute connections to a thread pool pinned to cores in a way that keeps it on the same core that the kernel was using. Now you can attach an eBPF program and they accidentally broke the standalone API but won't fix it.
1
4
I'm sure you remember grsecurity's gid-based socket access feature. Android implemented essentially the same thing in order to implement the core of the INTERNET permission, which we turn into a Network toggle. Upstream wouldn't take this so 20 lines of code was replaced with 5k.
1
1
Since there are no longer any downstream patches required and you can use mainline kernels with Android, they had to turn several things into far more complex eBPF implementations. A significant part of the data usage statistics for apps/interfaces also got turned into eBPF.
2
1