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

Alan-Jowett / sonde / 25947942070
81%

Build:
DEFAULT BRANCH: main
Ran 16 May 2026 12:41AM UTC
Jobs 1
Files 126
Run time 1min
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

16 May 2026 12:32AM UTC coverage: 82.819% (+0.003%) from 82.816%
25947942070

push

github

web-flow
fix(bpf): tag pointers loaded from context via ContextPointerField (#929)

* fix(bpf): tag pointers loaded from context via ContextPointerField (#928)

The BPF interpreter treated all values loaded from context via LDX as
plain scalars, which meant C-compiled programs using the standard
`ctx->input_data` / `ctx->input_end` pattern failed with
`NonDereferenceableAccess` when dereferencing the loaded pointers.

Add `ContextPointerField` — a descriptor that tells the interpreter
which u64 fields within the context buffer hold pointers and what
memory region they refer to.  During `LD_DW_REG` from a context
(or writable-memory) region, the interpreter computes the effective
context offset and, if it matches a declared field, tags the loaded
value with the described region instead of returning a scalar.

The offset match uses `effective_address - ctx_base` so it works
regardless of whether the source register points at the context base
or has been adjusted via pointer arithmetic.

Update the decoder execution path (`decoder.rs`) to declare context
pointer fields for `input_data` (offset 0) and `input_end`
(offset 8), enabling C-compiled decoder programs to work correctly.

Closes #928

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* style: apply cargo fmt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: use Context tag for decoder data region, add ctx_ptrs doc

- Change decoder data_region from RegionTag::Memory to
  RegionTag::Context so writes through ctx->input_data are silently
  ignored, matching the read_only_ctx=true semantics.
- Add ctx_ptrs to the # Arguments doc section of execute_program.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: strengthen adjusted-base test to dereference loaded pointer

The test now loads input_end via the adjusted base register, then
dereferences `input_end - 1` to read the last blob byte.  This
proves the adjusted-base context pointer ... (continued)

42 of 44 new or added lines in 3 files covered. (95.45%)

3 existing lines in 1 file now uncovered.

34889 of 42127 relevant lines covered (82.82%)

257.78 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
84.73
-0.14% crates/sonde-bpf/src/interpreter.rs

Coverage Regressions

Lines Coverage ∆ File
3
84.73
-0.14% crates/sonde-bpf/src/interpreter.rs
Jobs
ID Job ID Ran Files Coverage
1 25947942070.1 16 May 2026 12:41AM UTC 126
82.82
GitHub Action Run
Source Files on build 25947942070
  • Tree
  • List 126
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25947942070
  • d2fbe554 on github
  • Prev Build on main (#25943491924)
  • Next Build on main (#25947948797)
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