d5d2bb35d2fe9c76eb454ec7b63f8bee796263cc
Run throne_tracker() in kthread instead of blocking the caller.
Prevents full lockup during installation and removing the manager.
By default, first run remains synchronous for compatibility purposes
(FDE, FBEv1, FBEv2)
Features:
- looks and waits for manager UID in /data/system/packages.list
- run track_throne() in a kthread after the first synchronous run
- prevent duplicate thread creation with a single-instance check
- spinlock-on-d_lock based polling adressing possible race conditions.
Race conditions adressed
- single instance kthread lock, smp_mb()
- track_throne_function, packages.list, spinlock-on-d_lock based polling
- is_manager_apk, apk, spinlock-on-d_lock based polling
This is a squash of:
https://github.com/tiann/KernelSU/pull/2632
Original skeleton based on:
`kernelsu: move throne_tracker() to kthread`
`kernelsu: check locking before accessing files and dirs during searching manager`
`kernelsu: look for manager UID in /data/system/packages.list, not /data/system/packages.list.tmp`
0b05e927...8783badd
Co-Authored-By: backslashxx <118538522+backslashxx@users.noreply.github.com>
Co-Authored-By: Yaroslav Zviezda <10716792+acroreiser@users.noreply.github.com>
Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
SukiSU Ultra
A kernel-based root solution for Android devices, forked from tiann/KernelSU, and added some interesting changes.
Features
- Kernel-based
suand root access management - Module system based on Magic Mount
- App Profile: Lock up the root power in a cage
- Support non-GKI and GKI 1.0
- KPM Support
- Tweaks to the manager theme and the built-in susfs management tool.
Compatibility Status
-
KernelSU (before v1.0.0) officially supports Android GKI 2.0 devices (kernel 5.10+).
-
Older kernels (4.4+) are also compatible, but the kernel will have to be built manually.
-
With more backports, KernelSU can supports 3.x kernel (3.4-3.18).
-
Currently, only
arm64-v8a,armeabi-v7a (bare)andX86_64(some) are supported.
Installation
Integration
Translation
If you need to submit a translation for the manager, please go to Crowdin.
KPM Support
- Based on KernelPatch, we removed features redundant with KSU and retained only KPM support.
- Work in Progress: Expanding APatch compatibility by integrating additional functions to ensure compatibility across different implementations.
Open-source repository: https://github.com/ShirkNeko/SukiSU_KernelPatch_patch
KPM template: https://github.com/udochina/KPM-Build-Anywhere
Note
- Requires
CONFIG_KPM=y- Non-GKI devices requires
CONFIG_KALLSYMS=yandCONFIG_KALLSYMS_ALL=y- For kernels below
4.19, backporting fromset_memory.hfrom4.19is required.
Troubleshooting
- Device stuck upon manager app uninstallation? Uninstall com.sony.playmemories.mobile
Sponsor
ShirkNeko's sponsorship list
- Ktouls Thanks so much for bringing me support.
- zaoqi123 Thanks for the milk tea.
- wswzgdg Many thanks for supporting this project.
- yspbwx2010 Many thanks.
- DARKWWEE 100 USDT
- Saksham Singla Provide and maintain the website
- OukaroMF Donation of website domain name
License
- The file in the “kernel” directory is under GPL-2.0-only license.
- The images of the files
ic_launcher(?!.*alt.*).*with anime character sticker are copyrighted by 怡子曰曰, the Brand Intellectual Property in the images is owned by 明风 OuO, and the vectorization is done by @MiRinChan. Before using these files, in addition to complying with Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, you also need to comply with the authorization of the two authors to use these artistic contents. - Except for the files or directories mentioned above, all other parts are under GPL-3.0 or later license.
Credit
- KernelSU: upstream
- MKSU: Magic Mount
- RKSU: support non-GKI
- susfs: An addon root hiding kernel patches and userspace module for KernelSU.
- KernelPatch: KernelPatch is a key part of the APatch implementation of the kernel module
KernelSU's credit
- Kernel-Assisted Superuser: The KernelSU idea.
- Magisk: The powerful root tool.
- genuine: APK v2 signature validation.
- Diamorphine: Some rootkit skills.
Languages
Kotlin
67.1%
C
20%
Rust
11.1%
Shell
0.9%
Makefile
0.4%
Other
0.4%