• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vbpf / prevail / 26179926435 / 1
87%
main: 87%

Build:
DEFAULT BRANCH: main
Ran 20 May 2026 06:58PM UTC
Files 77
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 May 2026 05:48PM UTC coverage: 84.665% (+0.02%) from 84.65%
26179926435.1

push

github

web-flow
Thread CallBtf::module through kfunc resolution (#1114)

* Thread CallBtf::module through kfunc resolution

BTF ids are not unique across kernel modules: two modules may legitimately
use the same id for different kfuncs. Previously the cfg builder forwarded
only `CallBtf::btf_id` to the platform's kfunc resolver, so the resolved
prototype could come from the wrong module when ids collided -- silently
producing unsound or imprecise verification.

Threads `module` through the lowering and resolution path:
  * Adds `int16_t module` to `Call` (only meaningful for `CallKind::kfunc`).
  * Extends `ebpf_resolve_kfunc_call_fn` to take `module` alongside `btf_id`.
  * Updates the Linux kfunc prototype table to key on `(btf_id, module)`,
    with a strict `(btf_id, module)` sort and a binary-search + linear-scan
    lookup.
  * Stamps `Call::module` from the source `CallBtf` in
    `pass_resolve_kfunc_calls` so two kfuncs sharing a BTF id remain
    distinguishable in the lowered IR.

Adds a regression test that resolves the same BTF id under two different
modules to distinct prototypes, and confirms an unknown module surfaces a
module-qualified diagnostic.

Closes #1098.

* Construct lowered kfunc key fully from CallBtf

Per review on #1114: instead of taking the platform-returned Call and
patching in only `module`, build the lowered Call entirely from the
source CallBtf and an explicit `CallKind::kfunc`. The lowered IR's
identity is the pre-resolution (btf_id, module) triple — no field of it
should depend on what a misbehaving resolver returned. Makes the
soundness argument audit-visible and removes a class of mis-keying bugs.

---------

Signed-off-by: Elazar Gershuni <elazarg@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

8999 of 10629 relevant lines covered (84.66%)

3246027.45 hits per line

Source Files on job run-Debug - 26179926435.1
  • Tree
  • List 77
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26179926435
  • 639c0c41 on github
  • Prev Job for on main (#26163647487.1)
  • Next Job for on main (#26218991840.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc