Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
And fix doc typos
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
* Move TestLog.log to the TEMP directory
Fixes#1275
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update VM log file path
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update release data
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add NSIS support to generate a setup exe
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More of the implementation
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add net start/stop actions to the msi
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* First step in conversion to common install script
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Convert to common setup script
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Snapshot before cleanup
this version does install the netsh helper
it does not delete the files from system32 on uninstall
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix build
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix driver test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Drop verifier fuzzer test to 15 mins
Same as the bpf2c fuzzer. This removes 15 mins from the long pole
for CI/CD.
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Enable verifier fuzzer in github CI/CD
This is another piece split out from PR #1153
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add -artifact_prefix=Artifacts\
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
* WIP: core helper fuzzer scaffolding
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Initial chunk of business logic
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
More business logic
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Add initial helper fuzzer corpus
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Fix code analysis warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Update docs and CI/CD
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Update README.md
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Fix analysis warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Add verifier_fuzzer step to github CI/CD
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Add core helper and bpf2c fuzzers to CI/CD
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Fix fuzzers in CI/CD
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Remove changes for other fuzzers from cicd file
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix bug in _find_lpm_map_entry() hit by fuzzer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* port quota
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix port_quota load
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
* Enable bpf2c fuzzer and execution context fuzzer in CI/CD
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Create bpf2c fuzzer corpus
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Make absolute path and strip trailing slash from it. (#1175)
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Add libsancov.lib when building fuzzer (#1179)
* Add libsancov.lib when building fuzzer
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* upload artifacts as dumps
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Bpf2c fuzzer fix build (#1180)
* Disable caching of verifier cmake project for now
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix dump upload path
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix dump upload path
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix crash dump upload
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Add Execution Context corpus
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Limit fuzzing to 15 minutes
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix artifact path
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix yaml to corectly upload artifacts
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix yaml to corectly upload artifacts
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix yaml to corectly upload artifacts
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Bpf2c fuzzer fix build (#1182)
* Disable caching of verifier cmake project for now
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Limit fuzzing memory
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Validate symbols offset
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Reject maps that have no associated symbols
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Add libfuzzer based fuzzer.
See: https://www.llvm.org/docs/LibFuzzer.html
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix ELF parsing bugs found by fuzzer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Make verifier fuzzer compile in Debug configuration
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup fuzzer code
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Setup/cleanup state for fuzzing
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix debug build of execution_context_fuzzer
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix verifier
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Pickup latest ebpf-verifier
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Remove corpus from git
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix CR/LF mangling in ELF files
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Remove corpus from git
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix build break
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Enable debug fuzzer build
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update to latest verifier
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update test based on latest verifier changes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix execution context fuzzer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
* Add bpf_get_current_pid_tgid() helper
Fixes#1106
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add KM test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Build self-contained Convert-BpfToNative.ps1
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update cmake build with code to generate Convert-BpfToNative.ps1
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Modify bpf2c to generate code that matches coding style.
Switch file extension of expected code to .c so that it enforces
coding style requirements.
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix file-rename in CMakeLists.txt
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix bad merge
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix line splitting
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Enable capturing triage dump on test crash
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Use LLVM version 11.0.1
Fixes#962
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Updated expected bpf2c output from LLVM 11
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
* Remove ebpf_verify_program API
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Remove old test
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Cleanup runners
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Cleanup old artifacts
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Add script to simplify generating native images from BPF.
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update test scripts
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update test scripts
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Update test scripts
* Make KM runner execute bpftool tests
* Make the run_tests.bat script also execute bpftool tests
* Make deploy-ebpf.ps1 -t copy all files needed for testing
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix merge error
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
* Add initial bpftool tests and another libbpf test
And fix various bugs hit by the tests.
This PR only adds a couple of initial tests.
A future PR will add many more tests.
bpftool_tests.exe is meant to be run on a machine with the drivers
installed. A future PR will add it to the KM test runner in CI/CD.
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix release build
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Send stderr to bpf2c_tests log
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update expected bpf2c output for map.o
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix bpf2c map output
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
* Fix reply id/length on failure in KM
And make UM and KM more closely follow the same logic to catch this sort
of bug in the future. Before this, UM would succeed and KM would fail,
and there were only UM tests for this case.
Fixes#946
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix device_helper.hpp
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix reply length
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* PR feedback
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
* Gather code coverage from within self-hosted runner
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* remove dependabot from the fork.
* Revert "remove dependabot from the fork."
This reverts commit c542c6cd44.
* Program info and hook NPI providers for sock_addr.
* Program info and hook NPI providers for sock_addr.
* PR Feedback.
* PR Feedback 2.
* wfp callout for sock_addr hook.
* PR Feedback.
* fix build break.