Repository navigation
Conversation
Replace the source-built vold approach with an in-place patch of the OTA's own /system/bin/vold. exfat::Check passes 45 seconds to ForkExecvpTimeout as `mov w1, #45`; the opt-in LINEAGE_VOLD_EXFAT_TIMEOUT module changes that single immediate to 120. vfat::Check and all other callers are untouched. The call site is located through the symbols in vold's .gnu_debugdata and the build fails closed unless exactly one site is found, and unless the result differs from the input in exactly that instruction. No source sync, Android build, pinned manifest, artifact or byte-identical baseline is needed, and the adapter works across LineageOS nightlies. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
Validate the hardened argument matcher against authenticated November 6 pdx235 vold. Permit only the observed independent store instruction, preserve real binary/signature/care-map evidence, and cover the actual call window with a regression. Merge the reviewed upstream sync while retaining the default-off module and separate OTA/device qualification requirements.
Preserve both optional modules across their shared configuration and registration points. Add coexistence checks for adapter registration and selection identity, retain the reviewed helper and already-published Companion signer, and keep the vold timeout change disabled by default.
0cwa
changed the base branch from
main
to
feat/microg-companion-signer-patch
November 10, 2026 06:03
Include the source-provenance regression fix and disposable hosted Companion build checks while preserving both optional module test blocks.
Bring in the reviewed Companion publication guard and source-build evidence from #173, preserving the vold hardening, real-binary evidence and combined module tests. Add a default-off LineageOS workflow input for the vold timeout patch. On this PR branch only, the existing read-only qualification job builds both root modes with both the microG signer patch and vold patch, disposable OTA keys and publishing disabled. Scheduled vold selection stays off. Cover branch, fork, input, signing and ROM-family boundaries in the workflow contract tests. Hosted CI validates this combined commit; physical-device acceptance remains separate. Co-authored-by: ChatGPT <noreply@openai.com>
Correct the new workflow contract test after remote assembly expanded replacement-string metacharacters. The qualification workflow, publication guard and module implementations are unchanged. Co-authored-by: ChatGPT <noreply@openai.com>
This branch has not been deployed
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.
ChatGPT reviewed and hardened this PR, refreshed it against #175, and resolved its shared integration points with #173. The original implementation was prepared with Claude Code.
Merge order: #173 first, then this PR. This PR is based on
feat/microg-companion-signer-patchso its diff contains only the vold change. All eight shared-file conflicts are resolved, including complete module registration, configuration, workflow and fingerprint blocks. After #173 merges, retarget this PR tomain.Purpose
Large exFAT volumes can exceed vold's 45-second filesystem-check timeout. This optional LineageOS module changes the exFAT call's immediate value to 120 seconds in the authenticated OTA's existing
/system/bin/vold. It keeps the shipped executable and its metadata, with a one-instruction change. The module remains default-off and is not enabled in scheduled releases.This is the preferred replacement for the source-built approach in draft #157. Both use the same module identity; they should not both be merged.
Review changes
docs/evidence/vold-binary-20261110.json.Validation
The hardened patcher was run on the real vold from
lineage-24.0-20261106-NIGHTLY-pdx235-signed.zip. The source ZIP matches LineageOS's published size and SHA-256; publisher signing, payload, partition, and AVB authentication checks passed. The source OTA separately fails its care-map consistency check, recorded verbatim in the evidence. This extracted-file check does not qualify that OTA or relax any production verification gate.fcf867312c1bd32ee5d5a5b689ea6314231cf88ae52a531a64c86a6074dd4024.b4c98a1d30907c918a13f90a92ee5dd758a59ebc9cf54043b985963ada00b80d.0xbce74, instruction bytes change froma1058052to010f8052: exactly two changed bytes in one instruction, with an independently checked result.The hardened revision passed CI 42763893817. The final combined tree also passed nine affected local suites, including real/synthetic binary checks, module registration/selection, executable locks, upstream integration, ROM/workflow contracts, schedules, and diagnostics. The updated standalone head
57eb285d573c199cb59c2ba8241b3b330365e37dpassed CI 42764589224. The final stack ata8fa6e903265c23abddb20dc9f718f97af312084passed 14 affected local suites and requests fresh combined CI. New integration fixtures verify that both adapters register together without duplicates and that their combined fingerprint changes and restores correctly. The actual vold adapter and binary evidence are unchanged.Remaining rollout qualification
No patched OTA or physical-device run is claimed. Before scheduled enablement, qualify nonpublishing rootless and Magisk OTAs, then pdx235 boot, encrypted storage, mounting, and an exFAT check that demonstrates the longer timeout. New upstream instruction sequences intentionally fail closed until reviewed.
Draft #157 remains open as a fallback pending acceptance of this approach.