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

227 Коммитов

Автор SHA1 Сообщение Дата
Dave Thaler faebbdd32a
Clean up compiler warnings (#225)
The IDL was generating MIDL2279 because it used const on an [out] param,
which is warned against since RPC marshaling copies the result into new
memory.  See https://marc.info/?l=ms-dcom&m=103440617317922 for some
discussion.

Other changes should hopefully be obvious.

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-25 15:36:19 -07:00
saxena-anurag 4b2384479d
refactor api.lib to api.lib, common.lib, service.lib (#219)
* refactor api.lib to api.lib, common.lib, service.lib

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-25 14:11:13 -07:00
Dave Thaler 85277df9d6
Add guidance to make sure all code is actually built (#221)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-25 11:29:24 -06:00
Alan Jowett 2a928a6c71
Document testing in Ebpf-For-Windows (#216)
* Add LLVM for code generation proposal

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

* Revert "Add LLVM for code generation proposal"

This reverts commit cd896afd94.

* Add description of tests in Ebpf-For-Windows

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

* Update docs/GettingStarted.md

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

* Update docs/GettingStarted.md

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

* Update docs/GettingStarted.md

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

* Update docs/GettingStarted.md

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

* Update docs/GettingStarted.md

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

* Update docs/GettingStarted.md

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-21 13:55:48 -06:00
Dave Thaler d9ee25f035
Add info on slack channel and zoom meeting (#209)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2021-05-21 11:32:50 -07:00
Dave Thaler a3f5150f91
Update CODEOWNERS list (#213)
So pull request notifications go to more people

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

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2021-05-21 10:16:59 -07:00
saxena-anurag 2518e84e84
Integrate verifier with ebpfsvc (#198)
* call verifier from svc
* ebpfsvc verification support, rpc client
* change rpc api to take const char*, review comments
2021-05-20 18:04:36 -07:00
Dave Thaler 773b27d2c0
Merge error codes from ebpf_windows.h into ebpf_result_t (#210)
Fixes #151

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-20 12:38:58 -07:00
Dave Thaler 34de16f43b
Add guidance about order of header includes (#207)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-19 14:52:38 -06:00
Dave Thaler a33045073c
Improve clarify of eBPF extensions doc (#199)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-18 12:53:56 -07:00
Dave Thaler 1e8ed8af2c
Improve clarity of filesystem proposal doc (#200)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-18 12:37:16 -07:00
Alan Jowett d765bd616d
Increase stack size for eBPF programs to 512 bytes (#197)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-14 10:17:26 -06:00
Alan Jowett 704e70c6a6
Add proposal for FS filter hook (#196)
* Add proposal for FS filter hook
* Document ebpf ext model

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-13 13:36:24 -06:00
Alan Jowett d95e3d22eb
Document why we disable bounds check when using uBPF (#195)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-13 08:56:36 -07:00
Alan Jowett 19bbe366e8
Add prerequisite code for applying access check to pinning operations (#185)
* Add prerequisite code for applying access check to pinning operations

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-12 19:57:28 -06:00
Alan Jowett c59b072cd3
Add missing helperfunctions (#183)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-12 14:25:48 -07:00
Dave Thaler 656e7becc1
Add doxygen automation (#180)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-12 08:23:02 -06:00
theidexisted 2b2ea62dee
Minor fix, save a constructor (#165)
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-12 04:54:00 -07:00
Alan Jowett 38dae7294d
Switch to using https://github.com/iovisor/ubpf as the upstream branch for ubpf (#178)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-11 20:48:32 -07:00
Alan Jowett 1aedf620fc
Modify EBPF_OPERATION_GET_PROGRAM_INFORMATION to accept ebpf_program_type_t (#175)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-11 18:25:11 -07:00
Shankar Seal 445ba0faad
Update CONTRIBUTING.md (#176)
fix link
2021-05-11 17:51:22 -07:00
Alan Jowett 25f6253fb1
Eliminate need for _unwind_helper (#174)
* Eliminate need for _unwind_helper

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

* Fix build break

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-11 17:16:30 -06:00
Dave Thaler be2c2c31f0
Added html documentation folder to .gitignore (#172)
Step 1 of making doxygen generate html docs as part of issue #71

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-11 14:47:19 -07:00
Alan Jowett 1af5e65f65
Switch ebpf_program_type_descriptor_t::platform_specific_data to GUID (#171)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-11 14:46:00 -06:00
Alan Jowett bf6cb270ac
Update driver to return ebpf_program_data_t to verifier (#163)
* Update driver to return ebpf_program_data_t to verifier

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

* Fix typo in comment

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-11 09:53:12 -07:00
Dave Thaler fba10c87b3
Update verifier to get latest disassembly format (#164)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-11 09:25:47 -07:00
smiley 5bcb662939
Update README.md (#168)
Added missing close parenthesis.
2021-05-11 08:59:53 -07:00
Quentin Monnet 728699217f
Fix link to "eBPF assembly with LLVM" post in tutorial (#167)
The current link points to the binary for LLVM-7, instead of the blog
post mentioned. Let's fix the URL.
2021-05-11 07:30:42 -07:00
Alan Jowett 962ef5e03d
Split tests (#158)
* Create unit test for execution context
* Split out platform unit tests
* Call UT as part of CI/CD pipeline

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-10 15:14:49 -06:00
Dave Thaler a022da91cb
Fix README.md (#157)
HVCI requires the guest OS to enforce it so doesn't apply to Linux

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-10 10:03:14 -07:00
Alan Jowett c47617951a
Split public and internal headers (#154)
* Split public and internal headers

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-10 09:47:54 -06:00
saxena-anurag d724d3b079
Basic ebpfservice with RPC interface (#147)
* fix service based on new directory path
* fix x64 release build break
* add copyright headers
* cr comments
* address review comments
* cr comments, fix formatting
* Update comment
* Update comment

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-10 07:27:37 -07:00
Alan Jowett d9c8dc45a1
First draft of code to serialize EBPF program info (#152)
* First draft of code to serialize EBPF program info
* Add code to encode program information from extension

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-10 07:07:43 -07:00
Dave Thaler 7a34bb0c86
Make verifier and netsh use GUIDs instead of int program types (#150)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-08 10:45:50 -06:00
Alan Jowett e0dd3ce0e3
Set working directory so that end_to_end.exe finds the eBPF files (#149)
* Set working director so that end_to_end.exe finds the eBPF files

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

* PR feedback

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-07 17:24:36 -07:00
Dave Thaler 0f7a6b0c12
Update to latest verifier version (#148)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-07 17:02:54 -07:00
Alan Jowett 51b710b1f1
Simplify the bindmonitor.c eBPF program (#146)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-07 14:08:40 -06:00
Dave Thaler 7e36b792e2
More wording tweaks to README (#145)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-06 14:30:56 -07:00
Dave Thaler b2a41eae21
Put hook and helper APIs in common headers (#142)
Fixes #138

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-06 13:47:09 -07:00
Dave Thaler 07d263844f
Wording updates to readme (#140)
Based on feedback from others

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-06 11:51:06 -07:00
Alan Jowett 40d8633277
Add support for having provider helper function address change on reload of a provider (#135)
* Add support for notifying on provider change
* Build trampoline functions for relocation of provider helper functions

Resolves: #135 
Resolves: #133 

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-05 18:24:09 -06:00
Dave Thaler 927b2081e3
Update directory structure (#134)
Fixes #124

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-05 14:10:28 -06:00
Dave Thaler 90d0f6971f
Remove unused files (#130)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-05 10:11:34 -06:00
Dave Thaler 0459505439
Fix missing copyright/license info in several files (#129)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-05 08:53:36 -07:00
Dave Thaler 00bd6ef2da
Run a format-code pass on all files (#131)
This PR is the result of running "./scripts/format-code.ps1"
There are no manual changes in this PR

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-05 08:39:38 -07:00
Alan Jowett a8045d4f3e
EbpfApi should first load the program, then create ebpf_program_t and then verify (#128)
* EbpfApi should first load the program, then create ebpf_program_t and then finally verify

Resolves: #127

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

* PR feedback

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

* Update src/ebpf/libs/execution_context/ebpf_program.c

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

* Fix build break

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-05-04 17:58:49 -07:00
Dave Thaler 67e1e85633
Minor tweaks to diagram (#126)
Straighten arrow
Make PPL service box wider

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-04 15:20:29 -07:00
Alan Jowett 932b16cff3
Split out NetEbpfExt from eBPF execution context (#123)
Split EbpfCore.sys into EbpfCore.sys and NetEbpfExt.sys

Resolves: #122

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-04 15:31:12 -06:00
Alan Jowett 2b48815269
Add support for loading program provider information from kernel (#119)
Add support for loading program provider information from kernel

Resolves: #118 

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-03 16:17:10 -06:00
Dave Thaler 5e685b9911
More improvements to README file (#120)
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-05-03 12:28:30 -07:00