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

iovisor / ubpf / 28966034061 / 6
79%
main: 79%

Build:
DEFAULT BRANCH: main
Ran 08 Jul 2026 06:32PM UTC
Files 77
Run time 8s
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

08 Jul 2026 06:25PM UTC coverage: 62.432% (+0.2%) from 62.219%
28966034061.6

push

github

web-flow
Loader and verifier fixes for clang/LLVM BPF outputLoader verifier fixes (#802)

* verifier: accept sub-programs that end in an unconditional jump

check_for_self_contained_sub_programs() accepted a local-call sub-program
only if it ended in EXIT or had an unconditional jump as its penultimate
instruction, rejecting one whose final instruction is itself the jump.
clang produces this layout when a function's tail is a loop back-edge:
every exit path leaves through an EXIT in the loop body and the last
instruction is a JA back to the top.

This change accepts a trailing JA/JA32 as a terminator in addition to the
penultimate-jump check for more common layouts.

Signed-off-by: Alex Forster <alex@alexforster.com>
Co-Authored-By: Claude <noreply@anthropic.com>

* Recompute un-relocated intra-section bpf-to-bpf call targets after link

clang emits calls between static functions in the same section with a
PC-relative imm and no relocation entry. The imm is computed against the
.o instruction layout, but the loader lands functions in symbol-table
order, which differs from .o offset order whenever the main function is
not first in its section. When the two orders differ the imm is stale and
the call jumps to the wrong function.

Add a fixup pass after the relocation pass that finds these un-relocated
local calls, decodes the original target offset from the raw imm, locates
the target by its section start, and rewrites the imm from the landed
positions the same way the relocation pass does. Call sites that already
carry a relocation (SHT_REL or SHT_RELA) are detected and skipped. The
loader still only applies SHT_REL; SHT_RELA is scanned here only so a call
carrying one is recognized as relocated and left alone rather than
re-decoded into a wrong target.

The added test exercises the no-relocation path; the skip and error
branches are not covered.

Signed-off-by: Alex Forster <alex@alexforster.com>
Co-Authored-By: Claude <noreply@anthropic.com>

* loader: accept... (continued)

5195 of 8321 relevant lines covered (62.43%)

21037.38 hits per line

Source Files on job run-RelWithDebInfo-ubuntu-24.04-arm-arm64 - 28966034061.6
  • Tree
  • List 77
  • Changed 9
  • Source Changed 2
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 28966034061
  • 4f7ef618 on github
  • Prev Job for on main (#28826397445.3)
  • Next Job for on main (#28978499608.5)
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