Speaker
Description
Abstract
Large Linux fleets increasingly depend on always-on observability: BPF programs, ftrace, kprobes, kretprobes, and continuous profiling agents are part of the core production control plane. Kernel livepatching depends on some of the same low-level mechanisms, especially dynamic ftrace-based redirection at function entry. In large production environments, we routinely observe fleet rollout delays because critical security livepatches conflict with system-wide tracing tools anchored to the same target functions.
The current kernel documentation notes that kprobes, ftrace, and livepatch must not step on each other, citing limitations like kretprobe conflicts. At fleet scale, these are not just corner cases; they become rollout blockers, visibility gaps, or sources of dangerous runtime uncertainty.
This session proposes an upstream discussion to define a predictable, common coexistence model. The goal is to identify the minimum kernel and tooling interfaces needed by livepatch builders, BPF/tracing tool authors, and fleet rollout systems to gracefully handle instrumentation occupancy.
Discussion Topics
- Conflict Inventory: Documenting attach-point collisions among livepatch, ftrace, kprobes, and BPF trampolines.
- Occupancy Reporting: Designing a per-function "patchability" report for tools like klp-build and rollout agents.
- Deterministic Failures: Returning explicit conflict reasons when an attachment is rejected instead of opaque errors.
- Transition Progress: Exposing standard tracepoints or counters for stuck tasks, forced transitions, and instrumentation blocks.
- Test Coverage: Expanding kselftest to include negative tests for rejected, unsafe instrumentation combinations.
- Policy & Chaining: Debating safe chaining semantics and deciding if observability should redirect to replacement functions.
Desired Outcome
Agreement on where these mechanisms belong (kernel ABI, sysfs/debugfs reporting, kselftest, or klp-build metadata). The discussion will involve livepatch, ftrace, kprobe, and BPF maintainers alongside large-fleet operators.