Skip to content

docs(case-study): correct IG trace_open/exec 5.4 result (as-compiled floor vs IG runtime fallback)#42

Merged
ErenAri merged 1 commit into
mainfrom
fix/ig-fallback-accuracy
Jun 23, 2026
Merged

docs(case-study): correct IG trace_open/exec 5.4 result (as-compiled floor vs IG runtime fallback)#42
ErenAri merged 1 commit into
mainfrom
fix/ig-fallback-accuracy

Conversation

@ErenAri

@ErenAri ErenAri commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What

Corrects the Inspektor Gadget case study's trace_open/trace_exec 5.4 result, which was presented as a clean compatibility failure but is really an as-compiled floor.

Why

IG maintainer Alban Crequy confirmed IG's loader falls back from BPF ring buffers → perf buffers (and bpf_ktime_get_boot_nsbpf_ktime_get_ns) on kernels that lack them — so the gadgets actually run on 5.4. bpfcompat does a faithful as-compiled load, so it reports the stricter floor.

Verified the fallback isn't generically replicable

Experimentally swapped the events ringbuf → perf-event array before load: it gets past the map, but trace_open then fails the 5.4 verifier on bpf_ktime_get_boot_ns (call unknown#125 → invalid func). A faithful loader can't rewrite helper calls without reimplementing IG's loader — so this is a documented limitation, not a feature to build. The doc now states that plainly.

(Docs-only; no code change.)

🤖 Generated with Claude Code

… runtime reach

Per IG maintainer Alban Crequy, Inspektor Gadget's loader falls back from BPF
ring buffers to perf buffers (and bpf_ktime_get_boot_ns -> bpf_ktime_get_ns)
on kernels that lack them, so trace_open/trace_exec actually run on 5.4 — the
prior "fail" was an as-compiled result, not IG's real reach.

Verified empirically that this can't be replicated by a faithful loader:
swapping the events ringbuf to a perf array gets past the map, but the 5.4
load then fails on bpf_ktime_get_boot_ns (call unknown#125), a helper IG
rewrites and that a generic loader cannot. So the doc now frames the 5.4 row
as "compiled object targets >= 5.8" and the runtime fallback as a documented
limitation, not a bug to fix in bpfcompat.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ErenAri ErenAri merged commit 0a6827d into main Jun 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant