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

iovisor / ubpf
79%

Build:
DEFAULT BRANCH: main
Repo Added 15 Sep 2015 09:26PM UTC
Files 205
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • Alan-Jowett/vs2026-compat
  • add-specification-baseline
  • add_codecov_yml
  • add_spec_drive_development_skills
  • alanjo/vs2026-cmake
  • bootstrap-spec-baseline-refresh
  • chore/GHA-280202-stepsecurity-remediation
  • copilot-instructions-upstream
  • copilot/add-atomic-instruction-support-arm64
  • copilot/add-boundary-checks-jit-compiler
  • copilot/add-bswap16-32-64-support
  • copilot/add-constant-blinding-option
  • copilot/add-copilot-configuration-ubpf
  • copilot/add-external-vm-comparison
  • copilot/add-jmp32-class-ja-support
  • copilot/add-label-support-to-assembler
  • copilot/add-memory-leak-detection-ci
  • copilot/enable-address-sanitizer-arm64
  • copilot/enable-w4-wx-windows-build
  • copilot/fix-601
  • copilot/fix-671
  • copilot/fix-ci-failure-bpf-verifier
  • copilot/fix-clang-relocation-type
  • copilot/fix-code-scanning-alert
  • copilot/fix-code-scanning-multiplication-issue
  • copilot/fix-coveralls-parallel-build-issue
  • copilot/fix-integer-overflow-bounds-check
  • copilot/fix-memory-leak-on-reload
  • copilot/fix-nullptr-dereference-harness
  • copilot/fix-out-of-bounds-memory-load
  • copilot/fix-ubpf-translation-issue
  • copilot/fix-windows-ci-cd-exit-code
  • copilot/fix-windows-fuzzing-build
  • copilot/implement-constant-blinding-arm64
  • copilot/implement-memsx-load-instructions
  • copilot/implement-movsx-offset-support
  • copilot/merge-duplicate-test-files
  • copilot/store-bytecode-read-only-memory
  • copilot/unify-fuzzer-and-tests-options
  • copilot/update-bpf-conformance-submodule
  • dependabot/github_actions/actions-01d8e432fa
  • dependabot/github_actions/actions-04f2fb4f3c
  • dependabot/github_actions/actions-09526a9899
  • dependabot/github_actions/actions-0c6b652348
  • dependabot/github_actions/actions-0de1229964
  • dependabot/github_actions/actions-1509149478
  • dependabot/github_actions/actions-15413d93e9
  • dependabot/github_actions/actions-18aa6ed890
  • dependabot/github_actions/actions-1ee973cf3c
  • dependabot/github_actions/actions-209eccb7e7
  • dependabot/github_actions/actions-235d117b1f
  • dependabot/github_actions/actions-243d7dc9c9
  • dependabot/github_actions/actions-2717ad4317
  • dependabot/github_actions/actions-2af22a0e2d
  • dependabot/github_actions/actions-2c4587cf48
  • dependabot/github_actions/actions-2d02a692b7
  • dependabot/github_actions/actions-2d7c865d12
  • dependabot/github_actions/actions-34cf0c888b
  • dependabot/github_actions/actions-379726463b
  • dependabot/github_actions/actions-4d74ece4e3
  • dependabot/github_actions/actions-5e135ac569
  • dependabot/github_actions/actions-5fe515b291
  • dependabot/github_actions/actions-6a5f201135
  • dependabot/github_actions/actions-6b5d751753
  • dependabot/github_actions/actions-705a8be96c
  • dependabot/github_actions/actions-75058fe91b
  • dependabot/github_actions/actions-85045faf4a
  • dependabot/github_actions/actions-8711e512cc
  • dependabot/github_actions/actions-87dc43524a
  • dependabot/github_actions/actions-8e8a7fd0ce
  • dependabot/github_actions/actions-8eb8a9087d
  • dependabot/github_actions/actions-96f499305c
  • dependabot/github_actions/actions-97634ad9ee
  • dependabot/github_actions/actions-9aa0d56b6e
  • dependabot/github_actions/actions-9fcd6d45b5
  • dependabot/github_actions/actions-a72d6170ce
  • dependabot/github_actions/actions-aa2a37f0ca
  • dependabot/github_actions/actions-bd21606fc9
  • dependabot/github_actions/actions-c3ddc7c674
  • dependabot/github_actions/actions-c4e85267de
  • dependabot/github_actions/actions-ca6608e035
  • dependabot/github_actions/actions-d230bc030b
  • dependabot/github_actions/actions-dec245865e
  • dependabot/github_actions/actions-dfa549e328
  • dependabot/github_actions/actions-e144074ff2
  • dependabot/github_actions/actions-e6ee9d7de3
  • dependabot/github_actions/actions-f414f81a3f
  • dependabot/github_actions/actions-f78b2e83ca
  • dependabot/github_actions/actions-f7e9886b4e
  • dependabot/github_actions/actions-fef880fd46
  • dependabot/pip/actions-baf6301acb
  • dependabot/pip/actions-d3fce962ef
  • dependabot/submodules/actions-01fc0163df
  • dependabot/submodules/actions-2b7c648e12
  • dependabot/submodules/actions-31cc4ab906
  • dependabot/submodules/actions-4b787150ce
  • dependabot/submodules/actions-507aa59b22
  • dependabot/submodules/actions-5993da68bd
  • dependabot/submodules/actions-5a4aac8c64
  • dependabot/submodules/actions-856fc74e53
  • dependabot/submodules/actions-91944b9a3e
  • dependabot/submodules/actions-abc7b1e10c
  • dependabot/submodules/actions-b47aa8b37e
  • dependabot/submodules/actions-b88e29ec27
  • dependabot/submodules/actions-cbc7190d65
  • dependabot/submodules/actions-ce454e3a81
  • dependabot/submodules/actions-e512bf45d3
  • dependabot/submodules/actions-fc634bfbfb
  • ebpf_for_windows_lkg
  • feature/sdiv-smod-support
  • fix-c4146-neg64
  • fix-lddw-second-half-validation
  • fix-macos-coverage-tap-trust
  • fix-stack-size-warning
  • fix/conformance-external-project-dirs
  • fix_boost_issue
  • fix_macos_build
  • fuzzer_config_fix
  • gh-pages
  • ignore_build_fuzzer
  • isa-reconciliation-report
  • issue-637
  • issue630
  • jit-backend-specs
  • jit-mips-spec
  • loader-verifier-fixes
  • main
  • memory
  • neg-fix
  • readme
  • revert-721-copilot/add-boundary-checks-jit-compiler
  • safe-profile-isolation
  • standalone-jit
  • strings
  • target_refactor
  • test-travis
  • update_bpf_conformance
  • update_prevail
  • update_verifier

08 Jul 2026 06:25PM UTC coverage: 78.793% (-0.2%) from 79.028%
28978499608

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)

139 of 168 new or added lines in 3 files covered. (82.74%)

117 existing lines in 11 files now uncovered.

9270 of 11765 relevant lines covered (78.79%)

933162.88 hits per line

Relevant lines Covered
Build:
Build:
11765 RELEVANT LINES 9270 COVERED LINES
933162.88 HITS PER LINE
Source Files on main
  • Tree
  • List 205
  • Changed 27
  • Source Changed 2
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28978499608 main 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 ... push 08 Jul 2026 09:57PM UTC web-flow github
78.79
28966034061 main 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 ... push 08 Jul 2026 06:27PM UTC web-flow github
78.59
28901743260 main build(deps): bump the actions group across 1 directory with 8 updates (#804) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/... push 07 Jul 2026 10:03PM UTC web-flow github
79.03
28826397445 main build(deps): bump the actions group across 1 directory with 8 updates (#804) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/... push 06 Jul 2026 10:05PM UTC web-flow github
79.03
28755970210 main build(deps): bump the actions group across 1 directory with 8 updates (#804) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/... push 05 Jul 2026 09:49PM UTC web-flow github
79.03
28720585854 main build(deps): bump the actions group across 1 directory with 8 updates (#804) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/... push 04 Jul 2026 09:45PM UTC web-flow github
78.94
28710181226 dependabot/github_actions/actions-2c4587cf48 Merge 5e71315e4 into 2a8edd11e Pull #806 04 Jul 2026 03:07PM UTC web-flow github
79.03
28710157220 dependabot/pip/actions-baf6301acb Merge ab9d83d30 into 2a8edd11e Pull #789 04 Jul 2026 03:04PM UTC web-flow github
79.03
28684926116 main build(deps): bump the actions group across 1 directory with 8 updates (#804) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/... push 03 Jul 2026 09:54PM UTC web-flow github
79.03
28622413659 main build(deps): bump the actions group across 1 directory with 8 updates (#804) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/... push 02 Jul 2026 09:24PM UTC web-flow github
79.03
See All Builds (2514)
  • Repo on GitHub
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