Thanks for your interest in this project. The fork is open to contributions that keep the WSA x86_64 KPM port stable and easy to install.
- Read docs/KPM_PORT.md for the technical scope of the x86_64 KPM port.
- Read docs/BUILD.md and confirm you can reproduce the released kernel locally.
- Search the issue tracker for an existing report before opening a new one.
Use the bug report template. Include:
- WSA version.
adb shell uname -aoutput.adb shell su -c "ksud kpm version"output.adb shell su -c "ksud kpm doctor --json"output.- Relevant
dmesgslice. - Whether Memory Integrity was on or off on the host.
- Fork this repository.
- Create a feature branch from
main. - Keep changes scoped to the WSA x86_64 KPM port. Upstream Linux, upstream KernelSU, upstream ReSukiSU and upstream SUSFS changes should land in their respective upstreams first.
- Build the kernel with the toolchain documented in docs/BUILD.md and confirm the kernel boots in WSA.
- Run the capability and stress tests described in docs/KPM_PORT.md.
- Open a pull request with a clear description, the new kernel SHA256 and a
dmesgexcerpt that shows your tests passed.
- Follow the existing kernel code style for files inside the kernel tree.
- Documentation files are Markdown and follow Keep a Changelog style for
CHANGELOG.md. - Commits should have descriptive subject lines and reference relevant files when useful.
A change to the KPM loader, hook backend, ELF parser or supercall path should ship with:
- Updated capability tests inside
KernelSU/kernel/kpm. - A
dmesgexcerpt that shows the new tests passing on a real WSA boot. - Stress soak result equal to or better than the documented
500 loops x 5 modules = 2500 cyclesbaseline. - Confirmation that the malformed metadata, syscall hook unsupported and atomic context refusal paths still behave as documented.
By contributing, you agree that your contributions are licensed under the GPL-2.0 license that covers the kernel tree, plus the upstream KernelSU license for files inside KernelSU/.