Skip to content

feat/PCIe: verify the base address of PCI devices#2457

Open
zyuiop wants to merge 1 commit into
hermit-os:mainfrom
zyuiop:feat/pcie-verify-address
Open

feat/PCIe: verify the base address of PCI devices#2457
zyuiop wants to merge 1 commit into
hermit-os:mainfrom
zyuiop:feat/pcie-verify-address

Conversation

@zyuiop
Copy link
Copy Markdown
Contributor

@zyuiop zyuiop commented Jun 1, 2026

This ensures that a malicious hypervisor will not provide PCI devices that map to system memory

@mkroening mkroening self-assigned this Jun 1, 2026
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark Results

Details
Benchmark Current: 603f9dd Previous: 28c7089 Performance Ratio
startup_benchmark Build Time 113.98 s 115.28 s 0.99
startup_benchmark File Size 0.77 MB 0.77 MB 1.00
Startup Time - 1 core 1.02 s (±0.03 s) 1.00 s (±0.03 s) 1.02
Startup Time - 2 cores 1.01 s (±0.09 s) 1.04 s (±0.05 s) 0.97
Startup Time - 4 cores 1.02 s (±0.03 s) 1.00 s (±0.06 s) 1.02
multithreaded_benchmark Build Time 117.93 s 118.33 s 1.00
multithreaded_benchmark File Size 0.87 MB 0.87 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 88.75 % (±16.57 %) 92.34 % (±11.70 %) 0.96
Multithreaded Pi Efficiency - 4 Threads 43.69 % (±7.44 %) 45.83 % (±5.87 %) 0.95
Multithreaded Pi Efficiency - 8 Threads 24.32 % (±3.75 %) 25.71 % (±3.50 %) 0.95
micro_benchmarks Build Time 94.95 s 96.08 s 0.99
micro_benchmarks File Size 0.88 MB 0.88 MB 1.00
Scheduling time - 1 thread 73.29 ticks (±3.40 ticks) 73.85 ticks (±3.74 ticks) 0.99
Scheduling time - 2 threads 42.89 ticks (±3.80 ticks) 41.46 ticks (±4.37 ticks) 1.03
Micro - Time for syscall (getpid) 3.07 ticks (±0.29 ticks) 3.08 ticks (±0.19 ticks) 1.00
Memcpy speed - (built_in) block size 4096 76415.88 MByte/s (±52784.72 MByte/s) 73208.48 MByte/s (±50616.82 MByte/s) 1.04
Memcpy speed - (built_in) block size 1048576 29741.12 MByte/s (±24476.40 MByte/s) 29392.18 MByte/s (±24125.47 MByte/s) 1.01
Memcpy speed - (built_in) block size 16777216 26071.98 MByte/s (±21443.74 MByte/s) 23751.74 MByte/s (±19605.56 MByte/s) 1.10
Memset speed - (built_in) block size 4096 76475.00 MByte/s (±52825.86 MByte/s) 73313.38 MByte/s (±50689.78 MByte/s) 1.04
Memset speed - (built_in) block size 1048576 30503.61 MByte/s (±24915.80 MByte/s) 30169.43 MByte/s (±24587.38 MByte/s) 1.01
Memset speed - (built_in) block size 16777216 26841.52 MByte/s (±21939.75 MByte/s) 24402.29 MByte/s (±20008.02 MByte/s) 1.10
Memcpy speed - (rust) block size 4096 66592.62 MByte/s (±46499.73 MByte/s) 66427.37 MByte/s (±46490.49 MByte/s) 1.00
Memcpy speed - (rust) block size 1048576 29506.14 MByte/s (±24323.60 MByte/s) 29425.11 MByte/s (±24175.79 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 26251.58 MByte/s (±21598.88 MByte/s) 24403.77 MByte/s (±20179.96 MByte/s) 1.08
Memset speed - (rust) block size 4096 67055.85 MByte/s (±46880.83 MByte/s) 66262.32 MByte/s (±46403.75 MByte/s) 1.01
Memset speed - (rust) block size 1048576 30291.72 MByte/s (±24782.19 MByte/s) 30172.11 MByte/s (±24599.55 MByte/s) 1.00
Memset speed - (rust) block size 16777216 26933.86 MByte/s (±21996.96 MByte/s) 25069.95 MByte/s (±20590.63 MByte/s) 1.07
alloc_benchmarks Build Time 90.00 s 91.43 s 0.98
alloc_benchmarks File Size 0.84 MB 0.85 MB 1.00
Allocations - Allocation success 100.00 % 100.00 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 100.00 % 100.00 % 1
Allocations - Average Allocation time 4558.99 Ticks (±51.75 Ticks) 4633.96 Ticks (±62.19 Ticks) 0.98
Allocations - Average Allocation time (no fail) 4558.99 Ticks (±51.75 Ticks) 4633.96 Ticks (±62.19 Ticks) 0.98
Allocations - Average Deallocation time 663.16 Ticks (±66.38 Ticks) 683.28 Ticks (±99.25 Ticks) 0.97
mutex_benchmark Build Time 91.30 s 90.68 s 1.01
mutex_benchmark File Size 0.88 MB 0.88 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 13.86 ns (±0.82 ns) 13.82 ns (±0.84 ns) 1.00
Mutex Stress Test Average Time per Iteration - 2 Threads 16.20 ns (±1.06 ns) 14.48 ns (±0.75 ns) 1.12

This comment was automatically generated by workflow using github-action-benchmark.

@zyuiop zyuiop force-pushed the feat/pcie-verify-address branch 2 times, most recently from 78eb5f1 to 01026fa Compare June 5, 2026 12:51
@zyuiop zyuiop force-pushed the feat/pcie-verify-address branch from 01026fa to 603f9dd Compare June 5, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants