eBPF Verifier Repair
Reparerer eBPF-verifiseringsavvisninger fra den rå verbose lasteloggen, bevis-først
Bestått
Hva den gjør
En reparasjonsarbeidsflyt for eBPF-programmer som kjerne-verifisereren nekter å laste: den leser den verbose verifiseringsloggen, mapper den avviste instruksjonen tilbake til verdien som mistet det nødvendige beviset, og gjør den minste kildeendringen som gjenoppretter den uten å endre programsemantikken. Dekker pakke-grenser, nullable pekere, uinitialisert stakk, referanselevetid, skalær rekkevidde og pekerproveniens på tvers av `libbpf C`, `Rust/Aya`, `libbpf-rs` og `BCC`. Utløses ved verifiseringsfeil, `-EACCES` lastfeil, `BPFix`-diagnostikk og CI-lastlogger.
Testrapport
Testet mot repoets egen benchmark-sak `packet_checked_wrong_base_001`, og leste kun den feilaktige kilden og verifiseringsloggen. Uten ferdigheten er den åpenbare reparasjonen å utvide vakten fra `data+14` til `data+15`, noe som stilner feilen og beholder feil-header-lesingen; saken README kaller det ut som feil svar, og den medfølgende testen ville mislyktes i sin 14-byte-rammesjekk. Å følge ferdighetens rå-logg-triage og Bounds-regler produserte vedlikeholderens `fixed.bpf.c` nesten ordrett – typet ethhdr-base, vakt på samme peker som senere brukes – og besto alle tre av bench-oraklets kilde-predikater som grunnlinjen mislyktes 0-for-3. Den medfølgende `extract_verifier_failure.py` kjørte også rent på en ekte 3.2KB logg, og kuttet `libbpf`-innledningen ned til den faktiske `PROG LOAD`-regionen. `bpfix`-binæren selv er valgfri og aldri nødvendig for denne stien, men klonen trekker ned ca. 200MB.
Testet på: 2026-07-30 · Claude Code 2.x (agent harness)
Installer
git clone --depth 1 https://github.com/eunomia-bpf/bpfix.git mkdir -p ~/.claude/skills cd bpfix && cp -r skills/ebpf-verifier-repair ~/.claude/skills/ebpf-verifier-repair
Kommandoer og eksempelprompter
/ebpf-verifier-repairReparerer eBPF-verifiseringsavvisninger fra den rå verbose lasteloggen, bevis-først
Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):
My XDP program won't load, verifier says R1 offset is outside of the packetlibbpf gives -EACCES on prog load, here's the verbose verifier log, fix itAya program rejected with "Unreleased reference id=2", help me repair it