Repository navigation
feat(zaparoo): select scanout modules by exact kernel identity - #27
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (5)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughScanout eligibility now uses a profile matching the running kernel release and GNU build ID. Module loading verifies the selected module file and checks the loaded module identity. Conflict detection also includes MagiK’s Main-window mapping device. ChangesKernel-profiled scanout
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant Main
participant ProfileSelector
participant Kernel
participant ModuleLoader
participant sha256sum
participant insmod
Main->>ProfileSelector: select_profile
ProfileSelector->>Kernel: Read release and GNU build ID
ProfileSelector-->>Main: Return matching profile
Main->>ModuleLoader: Open selected module without following symlinks
ModuleLoader->>sha256sum: Verify opened file descriptor
sha256sum-->>ModuleLoader: Return SHA-256 result
ModuleLoader->>insmod: Load verified file descriptor
Main->>Kernel: Check loaded module build ID
Merge Risk: ⚪ Minimal · up to No confirmed issue currently blocks merging. ARM execution and physical scanout qualification remain outstanding. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to The new checks reduce accidental module mismatches, but loading now depends on installed profiles whose protection and update authority have not been established. No exploitable path is confirmed; the potential consequence warrants a design review because the loader can insert a kernel module. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 6.25% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 4 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Select Zaparoo's optional scanout module using the running kernel's GNU build ID as well as its release string. Kernels sharing
uname -rno longer automatically accept the same module; missing or mismatched profiles retain fb0.modules/<release>/<kernel-build-id>/.Validation: Main ARM cross-build passed in the development checkout; the identity test cross-compiled with warnings treated as errors on this branch. ARM test execution and physical scanout qualification remain outstanding.
Old flat release-only module installations now fall back to fb0. No module is force-loaded or unloaded, and no pinned/Edge stock build is newly declared qualified. This PR targets integration
master, not distributionstable.Companion PRs: frontend, menu.
Summary by CodeRabbit