Repository navigation
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ➖ Normal Change: Bug fix Merge Risk: ⚪ Minimal · up to
|
Keep pointer addresses out of mixed-type branch narrowing and add a verifier regression test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: fe9d1c1d-aac5-4af9-9e05-4863a751d743 Signed-off-by: Michael Agun <danielagun@microsoft.com>
5cd0b6d to
347d0dc
Compare
|
Closed in factor of #1249 |
Closes #1247
Root cause
The mixed-type
Assumehandling introduced in #1037 applies numeric comparison constraints when a pointer register is compared with a scalar register. This can make PREVAIL prune a branch based on the pointer’s modeled numeric range even though the runtime pointer takes that branch. The uBPF fuzzer exposed this in job 114346476543.Fix
Reject pointer comparisons against nonzero scalar registers, and avoid narrowing pointer addresses against those scalars. Preserve existing behavior for comparisons against an exact-zero register.
Tests
Add
jump.yamlcases for:Validation
jump.yamlsuite passed.