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
Alan Jowett
3e55125d7c
Verify handles are from correct driver ( #117 )
...
Verify handles are from correct driver
Resolves : #116
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-04-30 14:57:36 -06:00
Alan Jowett
c2734bbeaf
Modify epbf_program_t to take a reference on the ebpf_map_t it uses. ( #115 )
...
ebpf_program_t should take a reference on ebpf_map_t object that it uses.
Resolves : #112
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-04-30 14:14:25 -06:00
Alan Jowett
05eb2789f9
Separate object enumeration from handle code ( #114 )
...
* Seperate object enumeration from handle code
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Fix typos
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Add rules about object lifetime
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-04-30 12:55:21 -07:00
Alan Jowett
b138e2fb83
eBPF should use Windows Handles for eBPF objects ( #110 )
...
* Pickup changes from upstream ubpf
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Add ebpf_handle_kernel.c to interface with Windows object manager to manage lifetimes.
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-30 11:49:23 -07:00
Alan Jowett
5be028810b
Fix pool corruption and memory leak ( #109 )
...
Fix pool corruption and memory leak
Resolves : #107
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-04-29 18:17:02 -06:00
poornagmsft
71f86e72e2
fixing a minor typo ( #108 )
2021-04-29 15:22:29 -07:00
Alan Jowett
eecf006201
Reduce churn in upstream ubpf repo ( #104 )
...
* Reduce churn in upstream ubpf repo
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-29 09:43:28 -06:00
Dave Thaler
39c1819f18
Update verifier to include changes to check ctx mismatches ( #106 )
...
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-04-28 17:49:18 -07:00
Alan Jowett
88cd4bf3cb
All internal code should be /w4 /wx clean ( #103 )
...
All internal code should be /w4 /wx clean
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-28 15:51:58 -06:00
Alan Jowett
a249f0f333
Switch demo to use ebpf_link APIs ( #100 )
...
Switch demo to use ebpf_link APIs
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-27 21:39:20 -06:00
Dave Thaler
e88aedf4dc
Fix nits in architecture diagram ( #101 )
...
Fixes #99
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-04-27 18:56:50 -07:00
Alan Jowett
191920814c
Plumb API to call ebpf_hook API's from user mode ( #98 )
...
Plumb API to call ebpf_hook API's from user mode
Resolves : #98
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-27 16:21:21 -06:00
Alan Jowett
9d08b00aef
Rename ebpf_hook_instance_t to ebpf_link_t ( #95 )
...
Resolves : #95
Rename ebf_hook to ebpf_link.
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-26 17:17:44 -06:00
Alan Jowett
0b0eaca37c
Implement eBPF extension and provider loading functionality ( #90 )
...
* Add support for invoking NMR to register client and providers.
Load global helper functions as extensions.
Create user-mode mocks to test extension loading.
Resolves : #80
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-04-26 16:37:12 -06:00
Alan Jowett
68cc22c090
Cleanup obsolute build files ( #93 )
...
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-04-26 12:44:37 -07:00
Dave Thaler
db9dea71e1
Remove some header ordering dependencies ( #92 )
...
Fixes #22
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-04-26 12:16:20 -07:00
Dave Thaler
08c116b8d6
More cleanup ( #91 )
...
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-04-26 11:43:13 -07:00