Fix native MariaDB FUSE ownership readiness - #2239
Merged
Merged
Conversation
AI assistance: OpenAI GPT-5.6 Sol via OpenCode implemented the caller-ownership alignment, readiness lifecycle probe, and deterministic tests. Chris Huber remains responsible for every line.
Keep descriptor discovery aligned with real allocation while proving caller ownership, FUSE mount identity, bounded cleanup, and single-flight probing.
Prove stable real and effective identities before host access, retain failed readiness cleanup handles, and abort descriptor probes without leaking native resources.
Keep shared native probes independent from caller signals while making descriptor interruption abort browser/native phases, suppress output, and return deterministic nonzero statuses after owned cleanup.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
rw,nosuid,nodev,noexecoptions before initialization.mainv0.24.5 (0de9390e) through merge commit6f26bee2and preserve current runtime-service, process-group, package, and release contracts.Final Security Review Fixes
root_owner, and mounted-filesystem ownership checks.SIGINT,SIGTERM, andSIGHUPabort handlers. Interruption uses the same native cleanup path and removes handlers after execution.124for timeout or deterministic129/130/143signal statuses.abortableDelay()and browser-readiness abort listeners on both normal settlement and cancellation.Security Compatibility
Trusted executable and ancestor resolution, fixed child
PATH, private mode-0700roots, symlink-free containment, 256 MiB/4,096-inode ext4 geometry, fixed rlimits, loopback-only least-privilege credentials, storage-engine allowlisting, bounded diagnostics, verified process-group shutdown, FUSE unmount, and root removal remain fail-closed. Descriptor discovery returns stable non-secret unavailable reasons.Verification
npm run buildpassed.npm run test:runtime-servicespassed. Coverage includes effective-root and setuid/setgid rejection with zero host commands/roots, full lifecycle readiness, mount rejection, initializer failure, teardown-race interruption, retained teardown retry without a second allocation, independent caller cancellation in both orders, all-waiter abort cleanup, signal/timeout output suppression and exit statuses, listener removal, transient unavailable recovery, and no root/process leaks.npm run test:playwright-browser-provenancepassed, including cancellation of a pending browser provenance lookup and abort-listener removal.npm run test:native-mariadb-runtime-service-integrationpassed its fail-closed unavailable assertion: this VPS has/usr/bin/fusermount3but nofuse2fs, so discovery returnedtrusted-containment-tools-unavailablewithout creating or leaking a private root. No complete-toolchain host proof was run in this update.npm run test:release-package-coveragepassed.npm run checkpassed all 102 current check-group commands. Its Docker-backed disposable MySQL case reported the repository's expected skip because Docker is unavailable.git diff --checkpassed.Final SHA:
ac67b02f.No force-push, merge, release, publish, or deploy was performed.
AI Assistance
OpenAI GPT-5.6 Sol via OpenCode reconciled current
main, implemented and reviewed the native MariaDB identity, cleanup-retention, cache, and interruption fixes, expanded deterministic and host fail-closed coverage, and ran the documented verification. Chris Huber remains responsible for every line.