Граф коммитов

132 Коммитов

Автор SHA1 Сообщение Дата
Dhiren Vispute 971f19b8d4
Add support for j*32 instructions (#1792) 2023-01-02 14:53:19 -08:00
Anurag Saxena 8cb62b3fd7
Support for multiple implementations of global helper functions (#1761)
* fix

* add native test

* cleanup

* CR comments

* update expected files

* fix

* cr comments
2022-12-31 10:56:28 -07:00
Alan Jowett f4b0fa1a50
Add version check to native images (#1720)
* Add version check to native images

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix release build

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-12-19 20:51:07 -07:00
github-actions[bot] 0dff94f740
Update NuGet packages (#1768)
Co-authored-by: Alan-Jowett <Alan-Jowett@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-12-19 21:02:25 +00:00
Alan Jowett 3840b31fc0
Check program_info hash during attach to provider (#1760)
* Check program_info hash during attach to provider

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-12-19 19:22:41 +00:00
github-actions[bot] d28c045228
Update NuGet packages (#1747)
Co-authored-by: Alan-Jowett <Alan-Jowett@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-12-13 19:36:39 -07:00
Alan Jowett 3212758312
Speed up build of sample folder (#1724)
* Speedup build of sample folder

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-12-13 14:58:09 +00:00
Gianni Trevisiol 99b7ece81f
Visual Studio 2022 porting (#1521)
* Draft

* wip - full build

* wip

* Docs & scripts update

* revert test

* Updates to overall GettingStarted.md guide.

* Updated CI/CD scripts

* Update ebpf-verifier cache key

* Fix #1513. Next action forwarded to #1563.

* Bump up epbfverifier to 05bca47

* Fix CRT path.

* Disable sanitizing

* fix cmake build

* Removed unsupported x86 and ARM configurations.

* Test address sanitizer off

* wip -full build w/asan

* asan enabled on ci/cd

* update wdk version to 22621

* wip - full build

* add mock asan

* Update CL param

* wip - proj sync

* wip - ltcg

* wip - driver settings

* wip-build props

* wip - asan opts

* wip-plat asan

* wip-asan

* wip

* wip

* wip-debug

* Branch resync

* Mitigate compiler OOM.

* remove asan mock

* doc update

* doc update

* Removed commented code.

* Added comments for pragma-s
2022-12-08 20:06:57 -07:00
Alan Jowett 8edff23f55
Update ebpf-verifier to latest (#1712)
* Update ebpf-verifier to latest

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Update expected output

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix code analysis warning

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-12-08 00:05:08 +00:00
Alan Jowett 58cdfdcf8a
Spelling (#1601)
* Fix spelling in docs

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix spelling in ebpfsvc

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix include

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix libs part 1

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix libs part 2

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix tests

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix tools

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix build

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix generated files

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>
2022-11-16 14:06:14 -07:00
Alan Jowett 4d9084017c
Annotate EBPF API's with _Must_inspect_result_ (#1569)
* Annotate EBPF API's with _Must_inspect_result_

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix build break

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix test failure

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Handles may be closed by fuzzing

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix code-analysis failure

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-11-15 10:31:40 -08:00
Dave Thaler 1af8936522
Split runtime component in two for base/native vs JIT additions (#1450)
Fixes #1442

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-10-10 10:17:03 -07:00
Alan Jowett 0702410070
Implement correct division by zero behavior (#1411)
* Implement correct division by zero behavior

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Simplify code gen

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: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-09-28 18:31:43 -06:00
Alan Jowett 6380f7961b
Update version number as part of build (#1373)
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>
2022-09-28 10:07:57 -07:00
Dave Thaler ecd08ecbb9
Fix docs on show verification (#1407)
PR #1257 removed the default program type, but didn't update
the tutorial accordingly.  This PR does so, and also fixes
the help output from netsh.

Fixes #1406

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-09-21 15:37:10 -07:00
Alan Jowett f93f0d58ee
Include hash of program information in metadata (#1376)
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: Dave Thaler <dthaler@microsoft.com>
2022-09-20 15:58:38 -07:00
Dave Thaler 480f51bf55
Bump version to 0.4.0 (#1391)
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>
2022-09-14 09:07:48 -06:00
Dave Thaler b18c7d3347
Work around recent Windows netsh regression (#1396)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-09-13 09:51:51 -06:00
Alan Jowett b3eac62ea2
Update nuget package to include export_program_info.exe (#1372)
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: Dave Thaler <dthaler@microsoft.com>
2022-09-06 18:44:31 -07:00
Alan Jowett 8112eb99df
Remove trailing whitespace in commited files (#1377)
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: Dave Thaler <dthaler@microsoft.com>
2022-08-29 14:15:46 -06:00
Dave Thaler 61eddd268d
Update bpftool (#1337)
* Update bpftool

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix cmake build

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-08-23 13:46:29 -07:00
Dave Thaler d564f05894
Bump version to 0.3.0 (#1323)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-08-08 15:16:59 -07:00
Dave Thaler 7e0738ee07
Add support for new libbpf APIs (#1288)
* Update to latest libbpf .h files

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add libbpf_bpf_{prog,attach}_type_str APIs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add libbpf_attach_type_by_name

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add libbpf_bpf_{link,map}_type_str

And add tests for prog type and attach type names

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add tests

And change type names to match Linux

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix cmake build

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update tests

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update docs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add bpf_program__insn_cnt()

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add MSVC deprecated attribute to most deprecated APIs

Still haven't done bpf_object__next() or bpf_prog_load_deprecated()

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Mark bpf_object__next was deprecated

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix some test failures

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Suppress instead of disable deprecated warnings

To simplify diffs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Merge with latest main

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* PR feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-07-29 14:57:30 -04:00
Alan Jowett b6fa3543f7
Update ubpf and fix build (#1293)
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-07-25 10:32:35 -07:00
saxena-anurag 4ad167dbbd
add --type option to bpf2c tool (#1283)
* add --type option to bpf2c tool

* fix test

* fix failing test, CR comments

* add negative test

* negative test
2022-07-13 14:24:32 -07:00
Dave Thaler 85b8fd974b
MSI should install drivers and services (#1271)
* 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>
2022-07-08 12:58:56 -07:00
saxena-anurag 8b96a52b43
fix (#1257)
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-06-30 18:37:33 -07:00
saxena-anurag 1160f7914e
Registry changes for program and section data. (#1192)
* fix

* backup

* fix backup

* msbuild compiling

* fix release build

* fixes

* cmake build fix

* fix cmake build

* fix analyse build

* fix

Signed-off-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>

* fix expected output

* add pre step for tests

* add pre step for tests

* add -s option, revert this later

* Revert "add -s option, revert this later"

This reverts commit 1f42d100e4.

* code cleanup

Signed-off-by: Anurag Saxena <anusa@microsoft.com>

* rename driver_registry_helper.h

* delete bpf_structs.h

* fix

* hardcode HKLM

* code cleanup

* fix

* backup

* fix backup

* msbuild compiling

* fix release build

* fixes

* cmake build fix

* fix cmake build

* fix analyse build

* fix

Signed-off-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>

* add pre step for tests

* add pre step for tests

* add -s option, revert this later

* Revert "add -s option, revert this later"

This reverts commit 1f42d100e4.

* code cleanup

Signed-off-by: Anurag Saxena <anusa@microsoft.com>

* rename driver_registry_helper.h

* delete bpf_structs.h

* fix

* hardcode HKLM

* code cleanup

* fix build break

* fix build break, enable warning

* fix bad merge

* cleanup

* fix

* fix tests

* add tests, make ebpf_store_helper platform agnostic

* fixes, cleanup, common code for store APIs

* fix cmake build, driver tests

* cleanup

* code cleanup

* cr comments

* code cleanup

* cleanup

* bugfix

* Apply suggestions from code review

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* cr comments

* fix build break

* move UM read store APIs to a different file

* cr comments

* cr comments

* cr comments

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-06-30 16:53:03 -07:00
Dave Thaler 9ec3aa0a1a
Fix netsh help text (#1248)
The parameters had interface but it was missing from the Usage part

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-06-27 09:21:40 -07:00
Alan Jowett 1782724071
Build ELF parse at compile time using EverParse (#1219)
* Build ELF parse at compile time using EverParse

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix build

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-06-22 16:24:02 -06:00
Dave Thaler 3d393bf43c
Bump nuget version to 0.2.0 (#1238)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-06-21 11:09:31 -07:00
Alan Jowett 2560f4bbd8
Mark unsafe strings via unsafe_string class (#1214)
* Mark unsafe strings via unsafe_string class

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Cleanup string handling

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Update expected output in tests

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Build break

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>
2022-06-15 13:52:55 -07:00
saxena-anurag 96226a7db9
Change default program type to EBPF_PROGRAM_TYPE_UNSPECIFIED (#1173)
* fixes

* update cmakelists

* fix bpf2c tests

* fix cilium tests

* add tests

* update bpf2c issue number

* Apply suggestions from code review

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* fix

* fix

* fix

* cr comments

* fix build break

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-06-15 09:59:39 -06:00
Alan Jowett 8bf0c2b7b8
Pickup latest ebpf-verifier (#1197)
* Pickup latest ebpf-verifier

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix expected error message from failure to parse

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Pickup latest ELFIO fixes

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>
2022-06-13 17:23:52 -07:00
Alan Jowett 83e52b9e39
Fix infinite loop in bpf2c code gen (#1209)
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>
2022-06-13 11:35:56 -06:00
Dave Thaler 25abe8fb4f
Fix port_quota app usage (#1184)
* 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>
2022-06-09 16:17:39 -07:00
Alan Jowett e870a29890
Reject elf malformed section (#1189)
* Reject malformed ELF file with bad section size

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Reject empty sections

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Validate all sections before use

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-06-09 15:16:56 -06:00
Dave Thaler e11f1d38a2
Add bpf2c fuzzer and execution context fuzzer to CI/CD (#1164)
* 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>
2022-06-09 10:24:28 -07:00
Alan Jowett c62b083ebc
Add libfuzzer based fuzzer. (#1117)
* 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>
2022-05-27 16:31:04 -07:00
Dave Thaler 4718bf7a73
Support bpf_object__load() with native programs (#1133)
* Make bpf_object__open_file work with native files

* Update bpf_object__open_file()
* Add bpf_object__open()
* Rename ebpf_enumerate_sections() to ebpf_enumerate_program_sections()

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Remove ebpf_program_load

And add a couple of windows-specific libbpf related APIs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix bug in enumerate sections hit by tail_call_multiple_um.dll

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix program_name field in object_open

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Cleanup

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix order of PE sections returned

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Bug fix

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Bug fix

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Bug fix and revert enumerate_sections rename

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Updated expected bpf2c output

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix analysis warning

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Updated issue number in TODO comments

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address Anurag's feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-05-24 14:53:04 -07:00
Alan Jowett e6c68671b2
Fix driver verifier failure from zero size allocation (#1116)
* Fix driver verifier failure from zero size allocation

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix assert when duplicating empty UTF8 string

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Add test coverage - empty ELF file

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Add test coverage - empty ELF file

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix driver verifier failure from zero size allocation

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>
2022-05-19 13:53:41 -06:00
Alan Jowett fc5792f969
Build self-contained Convert-BpfToNative.ps1 (#1097)
* 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>
2022-05-16 16:27:38 -06:00
Alan Jowett 9305a8edb7
Emit line directive for first line of BPF program (#1101)
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-05-14 21:20:29 -07:00
Shankar Seal 6b98a8d384
cmakefile (#1075) 2022-05-13 18:23:18 -06:00
Dave Thaler 3a9958f501
Support "netsh ebpf show sections" with native drivers (#1070)
* WIP: enumerate sections in native code

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Make bpf2c emit section names

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* More of PE section enumeration

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix program type and map count display for native programs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update cmake files

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Temporarily disable some compiler warnings for the pe-parse project

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Native programs have different sizes for skeleton in debug vs release

Also add text case for section is just ".text"

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address PR feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Force inlining utility functions inside ebpf programs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update expected output

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* More expected output changes

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix ebpfapi to allow a single section of name .text

To match libbpf behavior

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Resolve analysis warnings

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix analysis warnings

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address PR comments from Anurag

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-05-11 14:06:49 -07:00
Alan Jowett c5b44d04e1
Add comments for map declarations (#1064)
* Add comments for map declarations

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Emit names instead of constants

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix build break

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>
2022-05-06 15:39:57 -06:00
Alan Jowett d835854796
Add tests for bpf2c CLI interface (#1062)
* Add tests for bpf2c CLI interface

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix parsing

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-05-05 16:24:58 -06:00
Alan Jowett 0fdf2a5039
Modify bpf2c output to meet the coding standards. (#1061)
* 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>
2022-05-05 14:41:13 -06:00
Alan Jowett 9f97deba38
Resolve warnings in bpf2c generated code (#1058)
* Resolve warnings in bpf2c generated code

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Add negative test cases for raw BPF programs

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Add negative test cases for raw BPF programs

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-05-03 16:35:50 -06:00
Alan Jowett b262f97825
Add SHA256 hash of ELF file when generating native binary (#1047)
* Add SHA256 hash of ELF file when generating native binary

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix CXX17 deprecation warnings

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix build

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Add CXXFLAGS

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Move CXX17 suppresion to top-level

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix builds

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Update expected bpf2c output

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Downgrade to LLVM 11 for bpf2c tests

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Revert clang11 in test

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Build sample ELF's with LLVM11

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Additional test cases

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-05-03 07:40:42 -07:00