mirror of
https://github.com/KernelSU-Next/KernelSU-Next.git
synced 2025-08-27 23:46:34 +00:00
5f871cd713fc62f43042500cd69ef4fb58202e56
Since KernelSU Manager can now be built for 32-bit, theres this problematic setup where userspace is 32-bit (armeabi-v7a) and kernel is 64bit (aarch64). On 64-bit kernels with CONFIG_COMPAT=y, 32-bit userspace passes 32-bit pointers. These values are interpreted as 64-bit pointers without proper casting and that results in invalid or near-null memory access. This patch adds proper compat-mode handling with the ff changes: - introduce a dedicated struct (`sepol_compat_data`) using u32 fields - use `compat_ptr()` to safely convert 32-bit user pointers to kernel pointers - adding a runtime `ksu_is_compat` flag to dynamically select between struct layouts This prevents a near-null pointer dereference when handling SELinux policy updates from 32-bit ksud in a 64-bit kernel. Truth table: kernel 32 + ksud 32, struct is u32, no compat_ptr kernel 64 + ksud 32, struct is u32, yes compat_ptr kernel 64 + ksud 64, struct is u64, no compat_ptr Preprocessor check 64BIT=y COMPAT=y: define both structs, select dynamically 64BIT=y COMPAT=n: struct u64 64BIT=n: struct u32 Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
English | 简体中文 | 繁體中文 | Türkçe | Português (Brasil) | 한국어 | Français | Bahasa Indonesia | Русский | ภาษาไทย | Tiếng Việt | Italiano | Polski | Български | 日本語
KernelSU Next
A kernel-based root solution for Android devices.
Features
- Kernel-based
suand root access management. - Module system based on dynamic mount system Magic Mount / OverlayFS.
- App Profile: Lock up the root power in a cage.
Compatibility state
KernelSU Next officially supports most Android kernels starting from 4.4 up to 6.6.
- GKI 2.0 (5.10+) kernels can run pre-built images and LKM/KMI.
- GKI 1.0 (4.19 - 5.4) kernels need to rebuilt with KernelSU driver.
- EOL (<4.14) kernels also need to be rebuilt with KernelSU driver (3.18+ is experimental and may need some function backports).
Currently, only the arm64-v8a architecture is supported.
Usage
Security
For information on reporting security vulnerabilities in KernelSU, see SECURITY.md.
License
- Files under the
kerneldirectory are GPL-2.0-only. - All other parts except the
kerneldirectory are GPL-3.0-or-later.
Donations
-
0x12b5224b7aca0121c2f003240a901e1d064371c1 [ USDT BEP20 ]
-
TYUVMWGTcnR5svnDoX85DWHyqUAeyQcdjh [ USDT TRC20 ]
-
0x12b5224b7aca0121c2f003240a901e1d064371c1 [ USDT ERC20 ]
-
0x12b5224b7aca0121c2f003240a901e1d064371c1 [ ETH ERC20 ]
-
Ld238uYBuRQdZB5YwdbkuU6ektBAAUByoL [ LTC ]
-
19QgifcjMjSr1wB2DJcea5cxitvWVcXMT6 [ BTC ]
Credits
- Kernel-Assisted Superuser: The KernelSU idea.
- Magisk: The powerful root tool.
- genuine: APK v2 signature validation.
- Diamorphine: Some rootkit skills.
- KernelSU: Thanks to tiann, or else KernelSU Next wouldn't even exist.
- Magic Mount Port: 💜 5ec1cff for saving KernelSU!
v1.0.8
Latest
Languages
Kotlin
44%
Rust
29.4%
C
16.5%
Java
4.4%
Shell
2.9%
Other
2.7%