The extra capabilities Linux added made it insecure (arrays), so that eBPF needs to be disabled in production SMP systems.
There's also no existing userland support. Everyone provides DTrace probes, no one systemtap probes.
There's also no existing userland support. Everyone provides DTrace probes, no one systemtap probes.
The kernel verifier does extensive bounds checks on array uses and jumps in BPF programs.
Thanksfully there's now Oracle Linux with DTrace-proper.
When the usdt syntax can use static DTrace probes, why isn't it documented then? and why doesn't it use the familiar DTrace syntax then? Why is nobody using it?
You write this like you are implying that the DTrace designers somehow foresaw that spectre would be a thing and therefore array accesses would be a risk. This is obviously false. I’m sure there are reasonable reasons to not have arrays but predicting spectre 10 years before it was found is not one of them.