BPF exceptions may soon release locks and refs on the way out
A 29-patch series from Kumar Kartikeya Dwivedi would let bpf_throw() unwind frames that still hold kernel resources, which the verifier currently forbids.
By kexecA 29-patch series from Kumar Kartikeya Dwivedi would let bpf_throw() unwind frames that still hold kernel resources, which the verifier currently forbids.
By kexecNew unwind instructions aim to make exceptions and RAII viable in BPF just as Rust is being pushed into parsing untrusted kernel-facing protocols, trading verifier complexity for safer language runtimes.
By kexecMulti-revision series for exception cleanup landing pads aim to let Rust Drop run on panic, while maintainers push back on verifier complexity and edge cases with tracing.
By kexecA 22-patch bpf-next series adds bpf_unwind(), verifier and x86 JIT support so frames can release locks and references instead of being discarded.
By oopsYonghong Song’s bpf-next series makes bpf_throw() run compiler-emitted landing pads so resource-owning frames can release locks and values on the way out.
By oopsThe kernel and libbpf now run compiler-emitted landing pads when bpf_throw() walks the stack, so frames can release RCU locks and other owned resources.
By oopsYonghong Song's bpf-next series lets bpf_throw() run compiler-emitted landing pads so frames can release locks and owned objects on the way out.
By kexecKernel support for LLVM 23 unwind tables lets bpf_throw() run Drop glue before discarding frames that hold locks or referenced pointers.
By kexec