Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update verifier to latest #1991

Merged
merged 5 commits into from
Feb 1, 2023
Merged

Update verifier to latest #1991

merged 5 commits into from
Feb 1, 2023

Conversation

dthaler
Copy link
Collaborator

@dthaler dthaler commented Feb 1, 2023

Signed-off-by: Dave Thaler [email protected]

Description

  • Update verifier to latest and accept that some programs will fail verification until functionality is added to PREVAIL.
  • Also fix a compiler warning in ebpf_program.c about passing a const pointer to a function that requires non-const.
  • Update 3 samples with workaround for temporary verifier limitation (tracked by Widening is too aggressive vbpf/ebpf-verifier#441), by unrolling loops

Fixes #1451
Fixes #1756

Testing

Existing tests cover. The following samples fail to verify with the latest verifier and required updating with workarounds to remove for loops:

  • bindmonitor.c
  • bindmonitor_tailcall.c
  • map.c

Documentation

No impact.

@codecov
Copy link

codecov bot commented Feb 1, 2023

Codecov Report

Merging #1991 (65934fa) into main (64e6812) will decrease coverage by 0.50%.
The diff coverage is 30.51%.

@@            Coverage Diff             @@
##             main    #1991      +/-   ##
==========================================
- Coverage   83.35%   82.86%   -0.50%     
==========================================
  Files         152      151       -1     
  Lines       26955    26057     -898     
==========================================
- Hits        22468    21591     -877     
+ Misses       4487     4466      -21     
Impacted Files Coverage Δ
tests/sample/bindmonitor.c 31.41% <16.40%> (-68.59%) ⬇️
tests/sample/bindmonitor_tailcall.c 33.12% <16.40%> (-61.47%) ⬇️
libs/execution_context/ebpf_program.c 82.38% <100.00%> (ø)
tests/sample/map.c 97.46% <100.00%> (+3.71%) ⬆️
libs/platform/user/kernel_um.cpp 31.84% <0.00%> (-50.25%) ⬇️
libs/platform/user/nmr_um.cpp 43.07% <0.00%> (-7.70%) ⬇️
tests/bpf2c_tests/bpf_assembler.cpp 87.83% <0.00%> (-1.36%) ⬇️
tests/netebpfext_unit/netebpf_ext_helper.cpp 91.35% <0.00%> (-1.12%) ⬇️
libs/platform/ebpf_extension.c 88.49% <0.00%> (-0.89%) ⬇️
... and 18 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Signed-off-by: Dave Thaler <[email protected]>
Signed-off-by: Dave Thaler <[email protected]>
@dthaler dthaler added the bug Something isn't working label Feb 1, 2023
@dthaler dthaler marked this pull request as ready for review February 1, 2023 18:09
Copy link
Contributor

@saxena-anurag saxena-anurag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we file an issue in our repository to track reverting the changes done in sample programs, and mark it blocking on PREVAIL repo issue?

@dthaler
Copy link
Collaborator Author

dthaler commented Feb 1, 2023

Should we file an issue in our repository to track reverting the changes done in sample programs, and mark it blocking on PREVAIL repo issue?

Good idea, filed #1993

@dthaler dthaler enabled auto-merge (squash) February 1, 2023 19:43
@dthaler dthaler merged commit 68544ba into microsoft:main Feb 1, 2023
@dthaler dthaler deleted the verifier branch February 1, 2023 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Workflow failed - verifier_fuzzer Verify that prevail is consistent with bpf2c and ubpf behavior
3 participants