Skip to content

Fix/rust warnings round1#948

Open
DanielZ224 wants to merge 14 commits intomainfrom
fix/rust-warnings-round1
Open

Fix/rust warnings round1#948
DanielZ224 wants to merge 14 commits intomainfrom
fix/rust-warnings-round1

Conversation

@DanielZ224
Copy link
Copy Markdown

@DanielZ224 DanielZ224 commented Mar 15, 2026

Summary

This PR cleans up a set of low-risk Rust warnings across several Lind-specific crates and related local codepaths.

What is fixed

This PR includes conservative warning cleanup in:

  • wasmtime-wasi
  • threei
  • wasi-common
  • wasmtime-lind-multi-process
  • wasmtime-lind-common
  • typemap (partial)
  • rawposix (partial)
  • wasmtime (partial)

The applied fixes are limited to low-risk changes such as:

  • removing unnecessary mut
  • renaming intentionally unused variables to _...
  • removing unused imports
  • applying straightforward lifetime syntax cleanup
  • removing clearly unnecessary unsafe

Why some warnings were intentionally left unresolved

I did not keep every cargo fix suggestion.

  • wasmtime: some warnings are in behavior-sensitive runtime code (for example signal handling, code memory, and low-level runtime internals), so I only kept clearly safe changes and reverted riskier ones.
  • typemap: I intentionally reverted the cargo fix changes in typemap/src/network_helpers.rs because they introduced suspicious pattern rewrites and unreachable-pattern warnings.
  • rawposix: I kept straightforward cleanup, but left warnings that appear to require manual semantic review, especially around ignored Results, unused assignments, and logic-sensitive comparisons.

Follow-up issues

  • Remaining wasmtime warnings in low-level runtime code need manual review.
  • typemap/src/network_helpers.rs should be revisited separately because some auto-fix rewrites appeared unsafe.
  • Some rawposix warnings were intentionally left for manual semantic review.

Partially addresses #624

Validation

Ran:

cargo build

@github-actions
Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

Unified Test Report

grate harness

MetricValue
Total9
Success9
Failures0
Compile Failures0
Runtime Failures0
Timeout Failures0
Missing Pair Failures0

Cases

TestStatusError TypeOutput
concurrent-request/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS

STDERR:

interpose-exec_grate.cSuccess
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS

STDERR:

interpose-exit_grate.cSuccess
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...

[Grate|interpose-exit] Handling function ptr: 3 from cage: 1
[Grate|interpose-exit] In exit_grate 1 handler for cage: 1
[Grate|interpose-exit] PASS

STDERR:

interpose-fork_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS

STDERR:

interpose-mmap_grate.cSuccess
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS

STDERR:

interpose-register_grate.cSuccess
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[Cage|interpose-register] In cage 2, about to register handler for geteuid
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Cage|interpose-register] PASS: geteuid ret = 10
[Grate|interpose-register] PASS

STDERR:

multi-register_grate.cSuccess
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS

STDERR:

simple-tests/cpdata_grate.cSuccess
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

simple-tests/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS

STDERR:

wasm harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases190
Number of Successes190
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.050763s4.280324s
Success
chdir_getcwd.cSuccessNone0.052982s4.313925s
Success
chmod.cSuccessNone0.056636s4.297998s
Success
clock_gettime_highlevel.cSuccessNone0.121713s4.508573s
Success
clock_gettime_simple.cSuccessNone0.045454s4.286837s
Success
cloexec.cSuccessNone0.056094s3.942953s
Success
close.cSuccessNone0.064378s4.396172s
Success
creat_access.cSuccessNone0.054745s4.276361s
Success
doubleclose.cSuccessNone0.046898s3.864040s
Success
dup.cSuccessNone0.047871s4.299062s
Success
dup2.cSuccessNone0.054316s3.914541s
Success
dup3.cSuccessNone0.050985s4.333478s
Success
dupwrite.cSuccessNone0.054233s3.925825s
Success
etc_conf.cSuccessNone0.048952s4.279280s
Success
fchdir.cSuccessNone0.058404s4.360773s
Success
fchmod.cSuccessNone0.060142s4.317177s
Success
fcntl.cSuccessNone0.053879s4.322743s
Success
fdatasync.cSuccessNone0.053555s4.336221s
Success
filetest.cSuccessNone0.054197s3.910585s
Success
filetest1000.cSuccessNone0.063859s3.928890s
Success
flock.cSuccessNone0.060186s4.386844s
Success
fstat.cSuccessNone0.056858s4.340103s
Success
fstatfs.cSuccessNone0.048903s4.289320s
Success
fsync.cSuccessNone0.052612s4.281787s
Success
ftruncate.cSuccessNone0.058425s4.377446s
Success
getcwd.cSuccessNone0.049629s4.296288s
Success
getrandom.cSuccessNone0.053323s4.272022s
Success
ioctl.cSuccessNone0.059528s4.322470s
Success
link.cSuccessNone0.058231s4.336631s
Success
locale_test.cSuccessNone0.068672s6.144437s
Success
lseek.cSuccessNone0.060378s4.388969s
Success
mkdir_rmdir.cSuccessNone0.055624s4.322973s
Success
mkfifo_test.cSuccessNone0.061067s4.438349s
Success
mknod.cSuccessNone0.053700s4.304287s
Success
nocancel_io.cSuccessNone0.058628s5.526419s
Success
open.cSuccessNone0.048824s4.284168s
Success
path_conversion_safety.cSuccessNone0.057711s4.307020s
Success
pread_pwrite.cSuccessNone0.051377s4.368830s
Success
printf.cSuccessNone0.046822s3.883696s
Success
read.cSuccessNone0.054933s4.313267s
Success
readbytes.cSuccessNone0.052384s3.924041s
Success
readlink.cSuccessNone0.054577s4.300479s
Success
readlinkat.cSuccessNone0.056728s4.301257s
Success
readv_writev_test.cSuccessNone0.056718s4.322327s
Success
rename.cSuccessNone0.056863s4.303662s
Success
sc-writev.cSuccessNone0.052063s4.275990s
Success
stat.cSuccessNone0.054090s4.274599s
Success
statfs.cSuccessNone0.048681s4.302913s
Success
sync_file_range.cSuccessNone0.052353s4.303393s
Success
truncate.cSuccessNone0.056948s4.363116s
Success
unlink.cSuccessNone0.057377s4.352534s
Success
unlinkat.cSuccessNone0.056297s4.343805s
Success
write.cSuccessNone0.048181s3.942920s
Success
writeloop.cSuccessNone0.056367s3.898202s
Success
writepartial.cSuccessNone0.056014s3.902390s
Success
writev.cSuccessNone0.055902s4.330737s
Success
Math Tests
math_link_smoke.cSuccessNone0.059452s3.935662s
Success
math_tests.cSuccessNone0.062620s4.071210s
Success
Memory Tests
brk.cSuccessNone0.057059s4.323622s
Success
fork_large_memory.cSuccessNone0.089416s4.519590s
Success
malloc.cSuccessNone0.051709s3.933568s
Success
malloc_large.cSuccessNone0.051256s4.333695s
Success
memcpy.cSuccessNone0.051186s3.908712s
Success
memory_error_test.cSuccessNone0.058449s4.356851s
Success
mmap.cSuccessNone0.047868s4.340677s
Success
mmap_aligned.cSuccessNone0.050018s4.324646s
Success
mmap_complicated.cSuccessNone0.055013s4.414839s
Success
mmap_file.cSuccessNone0.056344s4.324124s
Success
mmap_shared.cSuccessNone0.054780s4.372472s
Success
mmaptest.cSuccessNone0.051074s4.325201s
Success
mprotect.cSuccessNone0.049190s4.336441s
Success
mprotect_boundary.cSuccessNone0.049365s4.334549s
Success
mprotect_end_region.cSuccessNone0.049699s4.295714s
Success
mprotect_middle_region.cSuccessNone0.049004s4.331826s
Success
mprotect_multiple_times.cSuccessNone0.049544s4.300200s
Success
mprotect_same_value.cSuccessNone0.048940s4.317370s
Success
mprotect_spanning_regions.cSuccessNone0.048893s4.340032s
Success
sbrk.cSuccessNone0.050730s4.297341s
Success
segfault.cSuccessNone0.058137s4.381002s
Success
shm.cSuccessNone0.055837s4.396315s
Success
shmtest.cSuccessNone0.049320s4.331742s
Success
tcache_test.cSuccessNone0.058956s4.505768s
Success
thread_malloc_sequential.cSuccessNone0.057271s4.501050s
Success
vtable.cSuccessNone0.062459s3.975152s
Success
Networking Tests
dns_resolve_test.cSuccessNone0.053522s6.003924s
Success
dnstest.cSuccessNone0.055588s4.328860s
Success
epoll_edge_triggered.cSuccessNone0.212328s4.490565s
Success
epollcreate1.cSuccessNone0.055587s4.304623s
Success
error_handling_net.cSuccessNone0.064657s4.349142s
Success
getaddrinfo_test.cSuccessNone0.059914s6.058165s
Success
getaddrinfo_unspec.cSuccessNone0.061551s5.993913s
Success
gethostname.cSuccessNone0.051341s3.894861s
Success
getifaddrs.cSuccessNone0.055715s4.361624s
Success
getsockname.cSuccessNone0.056324s4.297202s
Success
getsockopt.cSuccessNone0.057504s4.322369s
Success
ipv6_basic.cSuccessNone0.059540s4.332322s
Success
makepipe.cSuccessNone0.047774s3.894090s
Success
nonblocking_eagain.cSuccessNone0.059059s4.310670s
Success
pipe.cSuccessNone0.056903s4.348729s
Success
pipe2.cSuccessNone0.056757s4.256304s
Success
pipeinput.cSuccessNone0.057775s4.335395s
Success
pipeinput2.cSuccessNone0.057795s4.331869s
Success
pipeonestring.cSuccessNone0.058470s4.357940s
Success
pipepong.cSuccessNone0.056360s4.349656s
Success
pipewrite.cSuccessNone0.052982s4.261588s
Success
poll.cSuccessNone0.054917s4.288737s
Success
recvfrom-sendto.cSuccessNone0.056359s4.294881s
Success
sendmsg_recvmsg_test.cSuccessNone0.057312s4.331936s
Success
serverclient.cSuccessNone0.057341s3.938609s
Success
shutdown.cSuccessNone0.058735s3.931598s
Success
shutdown_fork.cSuccessNone0.055296s4.316871s
Success
simple-select.cSuccessNone0.058486s4.369001s
Success
simple_epoll.cSuccessNone0.053942s4.268718s
Success
socket.cSuccessNone0.054514s3.926893s
Success
socket_cloexec.cSuccessNone0.053223s4.263338s
Success
socket_options_advanced.cSuccessNone0.060907s4.318947s
Success
socketepoll.cSuccessNone0.053802s3.895220s
Success
socketpair.cSuccessNone0.052745s4.305266s
Success
socketselect.cSuccessNone0.053975s4.268652s
Success
tcp_connect_single.cSuccessNone0.055680s4.301523s
Success
udp_send_recv.cSuccessNone0.162745s4.473871s
Success
uds-getsockname.cSuccessNone0.055470s4.280048s
Success
uds-nb-select.cSuccessNone2.065313s6.526294s
Success
uds-serverclient.cSuccessNone0.059337s4.367650s
Success
uds-socketselect.cSuccessNone0.054917s3.895678s
Success
writev_socket.cSuccessNone0.059711s4.317150s
Success
Process Tests
barrier_test.cSuccessNone0.055960s4.491862s
Success
chain_thread.cSuccessNone1.054974s5.455912s
Success
ctor_syscall_test.cSuccessNone0.046347s4.311620s
Success
cxa_atexit_test.cSuccessNone0.050519s3.892565s
Success
exit.cSuccessNone0.053460s3.905749s
Success
exit_failure.cSuccessNone0.054958s3.995168s
Success
flockfile_test.cSuccessNone0.058874s4.504455s
Success
fork2malloc.cSuccessNone0.056460s4.353270s
Success
fork_select.cSuccessNone0.053512s4.337519s
Success
fork_simple.cSuccessNone0.052391s4.325149s
Success
fork_syscall.cSuccessNone0.058882s4.387615s
Success
fork_tls_ctype.cSuccessNone0.057140s4.345676s
Success
forkandopen.cSuccessNone0.056997s4.345193s
Success
forkdup.cSuccessNone0.056519s4.000489s
Success
forkexecuid.cSuccessNone0.052843s4.336260s
Success
forkexecv-arg.cSuccessNone0.054045s4.420129s
Success
forkexecv.cSuccessNone0.052264s4.320100s
Success
forkfiles.cSuccessNone0.055137s4.361247s
Success
forkmalloc.cSuccessNone0.067525s4.324106s
Success
forknodup.cSuccessNone0.057266s4.331181s
Success
function-ptr.cSuccessNone0.051141s4.290622s
Success
getegid_syscall.cSuccessNone0.055644s4.365362s
Success
getgid_syscall.cSuccessNone0.056402s4.356822s
Success
getpid.cSuccessNone0.048225s4.278864s
Success
getpid_syscall.cSuccessNone0.058270s4.372769s
Success
getppid.cSuccessNone0.056261s4.342723s
Success
getppid_syscall.cSuccessNone0.057684s4.353577s
Success
getuid.cSuccessNone0.057378s4.265181s
Success
getuid_syscall.cSuccessNone0.054838s4.378568s
Success
hello-arg.cSuccessNone0.045883s3.875256s
Success
hello.cSuccessNone0.046490s3.900553s
Success
longjmp.cSuccessNone0.047310s3.887546s
Success
mutex.cSuccessNone2.059453s6.562089s
Success
printf_deadlock_smoke.cSuccessNone0.064488s4.613106s
Success
printf_thread_test.cSuccessNone0.053370s4.466620s
Success
sem_forks.cSuccessNone0.057670s4.379407s
Success
setsid.cSuccessNone0.050716s3.900683s
Success
template.cSuccessNone0.057194s4.363404s
Success
test_exec_nofork.cSuccessNone0.052392s4.289123s
Success
test_unlink_open_file.cSuccessNone0.049374s3.878880s
Success
thread-test.cSuccessNone0.048987s4.430672s
Success
thread.cSuccessNone0.049434s4.443246s
Success
thread_cageid_race.cSuccessNone0.050144s4.454961s
Success
tls_test.cSuccessNone0.053648s4.436978s
Success
uname.cSuccessNone0.047544s4.245692s
Success
wait.cSuccessNone2.053345s5.983195s
Success
waitpid_anychild.cSuccessNone0.053910s4.315386s
Success
waitpid_syscall.cSuccessNone1.056192s5.347047s
Success
waitpid_wnohang.cSuccessNone0.056251s3.942007s
Success
Signal Tests
alarm.cSuccessNone7.054852s10.936720s
Success
eintr_fork_signal.cSuccessNone1.056162s5.333211s
Success
setitimer.cSuccessNone7.055907s10.945476s
Success
sigalrm.cSuccessNone2.059081s5.908406s
Success
sigchld.cSuccessNone1.056569s5.026432s
Success
signal-fork.cSuccessNone4.056525s7.969566s
Success
signal-simple.cSuccessNone0.056787s3.938383s
Success
signal_SIGCHLD.cSuccessNone0.053412s4.326499s
Success
signal_fork.cSuccessNone0.052434s4.363555s
Success
signal_int_ignored.cSuccessNone2.055656s6.366586s
Success
signal_procmask.cSuccessNone0.050398s4.306716s
Success
signal_recursive.cSuccessNone0.049555s3.886768s
Success
signal_sa_mask.cSuccessNone0.048887s3.876029s
Success
sigpipe.cSuccessNone1.056921s5.353614s
Success
sigprocmask.cSuccessNone1.055689s4.914009s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.117679s4.953347s
Success
mmap-negative2.cSuccessNone0.188622s4.461301s
Success
Signal Tests
signal_resethand.cSuccessNone1.054735s3.950143s
Success

@Yaxuan-w
Copy link
Copy Markdown
Member

Need to pass linter.

FYI: run make format

@github-actions
Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

Unified Test Report

grate harness

MetricValue
Total9
Success9
Failures0
Compile Failures0
Runtime Failures0
Timeout Failures0
Missing Pair Failures0

Cases

TestStatusError TypeOutput
concurrent-request/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS

STDERR:

interpose-exec_grate.cSuccess
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS

STDERR:

interpose-exit_grate.cSuccess
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...

[Grate|interpose-exit] Handling function ptr: 3 from cage: 1
[Grate|interpose-exit] In exit_grate 1 handler for cage: 1
[Grate|interpose-exit] PASS

STDERR:

interpose-fork_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS

STDERR:

interpose-mmap_grate.cSuccess
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS

STDERR:

interpose-register_grate.cSuccess
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[Cage|interpose-register] In cage 2, about to register handler for geteuid
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Cage|interpose-register] PASS: geteuid ret = 10
[Grate|interpose-register] PASS

STDERR:

multi-register_grate.cSuccess
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS

STDERR:

simple-tests/cpdata_grate.cSuccess
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

simple-tests/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS

STDERR:

wasm harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases190
Number of Successes189
Number of Failures1
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure1
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.042173s4.250764s
Success
chdir_getcwd.cSuccessNone0.041927s4.246157s
Success
chmod.cSuccessNone0.046274s4.270511s
Success
clock_gettime_highlevel.cSuccessNone0.279951s4.445821s
Success
clock_gettime_simple.cSuccessNone0.036891s4.244816s
Success
cloexec.cSuccessNone0.045908s3.890099s
Success
close.cSuccessNone0.047194s4.243680s
Success
creat_access.cSuccessNone0.045848s4.281369s
Success
doubleclose.cSuccessNone0.038117s3.850542s
Success
dup.cSuccessNone0.039532s4.266807s
Success
dup2.cSuccessNone0.043418s3.873820s
Success
dup3.cSuccessNone0.041332s4.215427s
Success
dupwrite.cSuccessNone0.044407s3.856350s
Success
etc_conf.cSuccessNone0.039637s4.221696s
Success
fchdir.cSuccessNone0.047457s4.270037s
Success
fchmod.cSuccessNone0.046950s4.237722s
Success
fcntl.cSuccessNone0.043718s4.239143s
Success
fdatasync.cSuccessNone0.043547s4.251350s
Success
filetest.cSuccessNone0.043846s3.856837s
Success
filetest1000.cSuccessNone0.046964s3.864671s
Success
flock.cSuccessNone0.049885s4.356539s
Success
fstat.cSuccessNone0.045243s4.215480s
Success
fstatfs.cSuccessNone0.040087s4.244285s
Success
fsync.cSuccessNone0.045105s4.251178s
Success
ftruncate.cSuccessNone0.046856s4.282552s
Success
getcwd.cSuccessNone0.041390s4.233375s
Success
getrandom.cSuccessNone0.044127s4.304941s
Success
ioctl.cSuccessNone0.047170s4.209263s
Success
link.cSuccessNone0.047087s4.271075s
Success
locale_test.cSuccessNone0.056000s6.095129s
Success
lseek.cSuccessNone0.047957s4.258138s
Success
mkdir_rmdir.cSuccessNone0.044605s4.206194s
Success
mkfifo_test.cSuccessNone0.047947s4.292644s
Success
mknod.cSuccessNone0.044195s4.243047s
Success
nocancel_io.cSuccessNone0.045921s5.452815s
Success
open.cSuccessNone0.040256s4.229443s
Success
path_conversion_safety.cSuccessNone0.047700s4.277334s
Success
pread_pwrite.cSuccessNone0.042710s4.275126s
Success
printf.cSuccessNone0.037353s3.848917s
Success
read.cSuccessNone0.045539s4.264628s
Success
readbytes.cSuccessNone0.040924s3.797619s
Success
readlink.cSuccessNone0.043932s4.241305s
Success
readlinkat.cSuccessNone0.046206s4.259919s
Success
readv_writev_test.cSuccessNone0.045913s4.266968s
Success
rename.cSuccessNone0.046878s4.258674s
Success
sc-writev.cSuccessNone0.042455s4.235633s
Success
stat.cSuccessNone0.045950s4.289567s
Success
statfs.cSuccessNone0.041018s4.226310s
Success
sync_file_range.cSuccessNone0.041569s4.209550s
Success
truncate.cSuccessNone0.045032s4.241505s
Success
unlink.cSuccessNone0.046932s4.264482s
Success
unlinkat.cSuccessNone0.046318s4.255747s
Success
write.cSuccessNone0.038857s3.804476s
Success
writeloop.cSuccessNone0.047028s3.857183s
Success
writepartial.cSuccessNone0.044741s3.828805s
Success
writev.cSuccessNone0.043928s4.220721s
Success
Math Tests
math_link_smoke.cSuccessNone0.047589s3.859355s
Success
math_tests.cSuccessNone0.051252s4.006655s
Success
Memory Tests
brk.cSuccessNone0.043129s4.228916s
Success
fork_large_memory.cSuccessNone0.072146s4.403585s
Success
malloc.cSuccessNone0.041215s3.852572s
Success
malloc_large.cSuccessNone0.040924s4.197808s
Success
memcpy.cSuccessNone0.041209s3.851210s
Success
memory_error_test.cSuccessNone0.045520s4.237644s
Success
mmap.cSuccessNone0.038314s4.199222s
Success
mmap_aligned.cSuccessNone0.039747s4.260500s
Success
mmap_complicated.cSuccessNone0.044217s4.265217s
Success
mmap_file.cSuccessNone0.045140s4.218330s
Success
mmap_shared.cSuccessNone0.045031s4.270988s
Success
mmaptest.cSuccessNone0.041219s4.194242s
Success
mprotect.cSuccessNone0.040387s5.016582s
Success
mprotect_boundary.cSuccessNone0.038986s4.253547s
Success
mprotect_end_region.cSuccessNone0.039000s4.194457s
Success
mprotect_middle_region.cSuccessNone0.038392s4.224447s
Success
mprotect_multiple_times.cSuccessNone0.039387s4.195271s
Success
mprotect_same_value.cSuccessNone0.038699s4.208604s
Success
mprotect_spanning_regions.cSuccessNone0.039347s4.196244s
Success
sbrk.cSuccessNone0.041066s4.220039s
Success
segfault.cSuccessNone0.044765s4.272042s
Success
shm.cSuccessNone0.043811s4.277988s
Success
shmtest.cSuccessNone0.039693s4.211253s
Success
tcache_test.cFailureUnknown_Failure0.046999s4.477049s
tcache reuse: yes
thread_malloc_sequential.cSuccessNone0.045243s4.360310s
Success
vtable.cSuccessNone0.050607s3.891490s
Success
Networking Tests
dns_resolve_test.cSuccessNone0.043238s6.004004s
Success
dnstest.cSuccessNone0.043758s4.236515s
Success
epoll_edge_triggered.cSuccessNone0.200668s4.412196s
Success
epollcreate1.cSuccessNone0.045773s4.261219s
Success
error_handling_net.cSuccessNone0.051411s4.329264s
Success
getaddrinfo_test.cSuccessNone0.048531s6.011197s
Success
getaddrinfo_unspec.cSuccessNone0.053779s5.972084s
Success
gethostname.cSuccessNone0.039592s3.877753s
Success
getifaddrs.cSuccessNone0.045445s4.315379s
Success
getsockname.cSuccessNone0.046757s4.273959s
Success
getsockopt.cSuccessNone0.047696s4.231020s
Success
ipv6_basic.cSuccessNone0.048822s4.303594s
Success
makepipe.cSuccessNone0.039704s3.811760s
Success
nonblocking_eagain.cSuccessNone0.048127s4.259429s
Success
pipe.cSuccessNone0.046148s4.267259s
Success
pipe2.cSuccessNone0.045626s4.252829s
Success
pipeinput.cSuccessNone0.047435s4.293478s
Success
pipeinput2.cSuccessNone0.046492s4.268691s
Success
pipeonestring.cSuccessNone0.046810s4.282409s
Success
pipepong.cSuccessNone0.046800s4.306100s
Success
pipewrite.cSuccessNone0.042076s4.255681s
Success
poll.cSuccessNone0.045511s4.226034s
Success
recvfrom-sendto.cSuccessNone0.046200s4.254151s
Success
sendmsg_recvmsg_test.cSuccessNone0.045332s4.238566s
Success
serverclient.cSuccessNone0.045241s3.882701s
Success
shutdown.cSuccessNone0.047154s3.861440s
Success
shutdown_fork.cSuccessNone0.046400s4.293516s
Success
simple-select.cSuccessNone0.046839s4.300118s
Success
simple_epoll.cSuccessNone0.045282s4.241679s
Success
socket.cSuccessNone0.044786s3.865161s
Success
socket_cloexec.cSuccessNone0.043919s4.227954s
Success
socket_options_advanced.cSuccessNone0.049103s4.282209s
Success
socketepoll.cSuccessNone0.044194s3.862555s
Success
socketpair.cSuccessNone0.044002s4.280253s
Success
socketselect.cSuccessNone0.045195s4.224996s
Success
tcp_connect_single.cSuccessNone0.046033s4.235980s
Success
udp_send_recv.cSuccessNone0.150915s4.413869s
Success
uds-getsockname.cSuccessNone0.045696s4.244178s
Success
uds-nb-select.cSuccessNone2.052981s6.472283s
Success
uds-serverclient.cSuccessNone0.048124s4.312515s
Success
uds-socketselect.cSuccessNone0.045595s3.841296s
Success
writev_socket.cSuccessNone0.048101s4.239846s
Success
Process Tests
barrier_test.cSuccessNone0.043593s4.392346s
Success
chain_thread.cSuccessNone1.045465s5.389727s
Success
ctor_syscall_test.cSuccessNone0.036921s4.215344s
Success
cxa_atexit_test.cSuccessNone0.041640s3.849119s
Success
exit.cSuccessNone0.043088s3.835404s
Success
exit_failure.cSuccessNone0.044615s3.910094s
Success
flockfile_test.cSuccessNone0.044659s4.432385s
Success
fork2malloc.cSuccessNone0.045513s4.263039s
Success
fork_select.cSuccessNone0.043844s4.272647s
Success
fork_simple.cSuccessNone0.042893s4.304630s
Success
fork_syscall.cSuccessNone0.048584s4.335599s
Success
fork_tls_ctype.cSuccessNone0.046414s4.305563s
Success
forkandopen.cSuccessNone0.045479s4.295284s
Success
forkdup.cSuccessNone0.046354s3.910565s
Success
forkexecuid.cSuccessNone0.043320s4.272918s
Success
forkexecv-arg.cSuccessNone0.044401s4.302226s
Success
forkexecv.cSuccessNone0.043005s4.260773s
Success
forkfiles.cSuccessNone0.045239s4.271970s
Success
forkmalloc.cSuccessNone0.054728s4.279218s
Success
forknodup.cSuccessNone0.046279s4.288939s
Success
function-ptr.cSuccessNone0.040924s4.220030s
Success
getegid_syscall.cSuccessNone0.044757s4.284995s
Success
getgid_syscall.cSuccessNone0.044989s4.298028s
Success
getpid.cSuccessNone0.039244s4.222488s
Success
getpid_syscall.cSuccessNone0.045954s4.341285s
Success
getppid.cSuccessNone0.044599s4.319354s
Success
getppid_syscall.cSuccessNone0.047718s4.305031s
Success
getuid.cSuccessNone0.045100s4.222160s
Success
getuid_syscall.cSuccessNone0.043863s4.277591s
Success
hello-arg.cSuccessNone0.037371s3.820563s
Success
hello.cSuccessNone0.037150s3.838624s
Success
longjmp.cSuccessNone0.038122s3.869729s
Success
mutex.cSuccessNone2.048421s6.533430s
Success
printf_deadlock_smoke.cSuccessNone0.051855s4.544945s
Success
printf_thread_test.cSuccessNone0.044167s4.424080s
Success
sem_forks.cSuccessNone0.047688s4.324359s
Success
setsid.cSuccessNone0.039316s3.858762s
Success
template.cSuccessNone0.044926s4.283602s
Success
test_exec_nofork.cSuccessNone0.043708s4.226372s
Success
test_unlink_open_file.cSuccessNone0.040701s3.831620s
Success
thread-test.cSuccessNone0.041083s4.392446s
Success
thread.cSuccessNone0.040314s4.387105s
Success
thread_cageid_race.cSuccessNone0.040825s4.383406s
Success
tls_test.cSuccessNone0.044007s4.395366s
Success
uname.cSuccessNone0.038901s4.200115s
Success
wait.cSuccessNone2.042211s5.916173s
Success
waitpid_anychild.cSuccessNone0.044704s4.286044s
Success
waitpid_syscall.cSuccessNone1.047129s5.292844s
Success
waitpid_wnohang.cSuccessNone0.046255s3.903782s
Success
Signal Tests
alarm.cSuccessNone7.045170s10.877206s
Success
eintr_fork_signal.cSuccessNone1.046412s5.292006s
Success
setitimer.cSuccessNone7.044452s10.887198s
Success
sigalrm.cSuccessNone2.044463s5.865190s
Success
sigchld.cSuccessNone1.046371s4.922892s
Success
signal-fork.cSuccessNone4.046905s7.914192s
Success
signal-simple.cSuccessNone0.045826s3.911115s
Success
signal_SIGCHLD.cSuccessNone0.044079s4.243272s
Success
signal_fork.cSuccessNone0.043639s4.322582s
Success
signal_int_ignored.cSuccessNone2.045662s6.313752s
Success
signal_procmask.cSuccessNone0.040999s4.234214s
Success
signal_recursive.cSuccessNone0.040137s3.838376s
Success
signal_sa_mask.cSuccessNone0.039920s3.849171s
Success
sigpipe.cSuccessNone1.045991s5.318524s
Success
sigprocmask.cSuccessNone1.045771s4.911082s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.092070s4.758102s
Success
mmap-negative2.cSuccessNone0.164086s4.329965s
Success
Signal Tests
signal_resethand.cSuccessNone1.044155s3.906319s
Success

@Yaxuan-w
Copy link
Copy Markdown
Member

Yaxuan-w commented Apr 6, 2026

Need to resolve merge conflicts

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