Commit Graph

63 Commits

Author SHA1 Message Date
ShirkNeko
49b01aad74 kernel: Introducing Tracepoint Hook Type Support
Tracepoint is a predefined hook point in the kernel, compared to Kprobe,
it is more stable and has lower performance overhead, although compatibility
is relatively poor, it is still worth trying

By the way, we have also included the config definitions related to hook types
in Kconfig, to enhance cleanliness

Improve and merge types that do not require hooks

Introducing the hook type prctl

These patches is based on https://github.com/backslashxx/KernelSU/issues/5

Co-authored-by: Cloud_Yun <1770669041@qq.com>
Co-authored-by: Prslc <prslc113@gmail.com>
Co-authored-by: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com>

Signed-off-by: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com>
2025-08-14 22:17:02 +08:00
ShirkNeko
ba26677cfc Merge some files and rewrite the update history 2025-03-22 14:09:21 +08:00
weishu
500ff9bcbc kernel: remove unused CONFIG guard becuase GKI kernel enable kprobe by default 2025-02-16 21:38:59 +08:00
Ylarod
898e9d4f8c [1.0] Drop Non-GKI Support (#1483)
Co-authored-by: weishu <twsxtd@gmail.com>
2024-06-01 14:50:46 +08:00
weishu
efbc07fde3 kernel: use library import 2024-04-27 09:55:24 +08:00
weishu
858ec910fd kernel: clean memory when exit 2024-03-24 16:41:53 +08:00
weishu
dc5f911e43 kernel: remove become_manager and minor refactors 2024-03-24 11:20:43 +08:00
weishu
4bad691ec8 kernel: don't remove from sysfs when debug is enabled 2024-03-18 19:12:56 +08:00
weishu
fefb02e578 kernel: remove it from sysfs 2024-03-18 18:50:53 +08:00
weishu
907bcad1a7 kernel: use ordered work queue to avoid timing issues 2023-08-01 20:47:43 +08:00
dabao1955
cd952f5e45 kernel/ksu.c:Fix word mistakes when enabling CONFIG_KSU_DEBUG (#724)
According to the instructions in Kconfig, when the `CONFIG_KSU_DEBUG`
option is turned on, KernelSU will run in `debug mode` instead of the
`debug version` mentioned in kernel/ksu.c.
2023-07-08 01:22:06 +08:00
dabao1955
d014947a54 change warning about disable kprobes (#549)
#479


Co-authored-by: dabao1955 <195328750@qq.com>
2023-05-23 10:24:18 +08:00
tiann
b80e06256d Revert "Add option to enable global namespace (#497)"
This reverts commit f81caf75a9.
2023-05-16 22:27:01 +08:00
Hikari-no-Tenshi
f81caf75a9 Add option to enable global namespace (#497)
Disabled by default.
To enable/disable use terminal with root.

To enable:
echo 1 > /sys/module/ksu/parameters/global_namespace_enable

To disable:
echo 0 > /sys/module/ksu/parameters/global_namespace_enable

Value will be reset to 0 (disabled) on reboot.
2023-05-16 11:39:48 +08:00
Ylarod
8446f07a91 kernel: update debug warning (#121) 2023-01-26 14:32:52 +08:00
Ylarod
db600d5ea0 kernel: precise trigger timing of post-fs-data (#118)
* kernel: add report_event cmd

* ksud: report event

* kernel: trigger on_post_fs_data

* ksud: comment unused code

* [skip ci] run clang-format

Signed-off-by: Ylarod <me@ylarod.cn>

* ci: use custom key to sign official bootimgs

* format ksud

* reject non root

* remove

Signed-off-by: Ylarod <me@ylarod.cn>
2023-01-26 11:29:02 +08:00
Ylarod
06aaae1335 kernel: fix missing log tag (#117) 2023-01-25 22:24:00 +08:00
Ylarod
2f970f7ab8 kernel: refact (#113)
* refact

* sort inlude

* update

* unregister execve kprobe

* update log

* don't unregister if not in kprobe

* opt for no kprobe

* opt for no kprobe

* stop debug

* don't forget to call ksu_uid_observer_exit

* rename core to core_hook

* direct call do_persistent_allow_list

* add prefix

* use getter, add warn

* add wrapper

* run clang-format

clang-format --style="{BasedOnStyle: InheritParentConfig, SortIncludes: true}" -i kernel/**/*.[ch]

* try fix wsa x64 build
2023-01-25 21:53:19 +08:00
Ylarod
47a736f567 kernel: allow to change manager in debug mode (#111) 2023-01-25 14:50:44 +08:00
weishu
fbd7d0f90d kernel: enable sucompat iff KPROBES enabled, close #100 2023-01-24 14:38:33 +07:00
Ylarod
4c28932c4c kernel: run ksu_kprobe_init if build as module (#109) 2023-01-24 08:42:25 +08:00
weishu
c252492a42 kernel: add __init for init funcs 2023-01-19 16:38:53 +07:00
weishu
da377a9fa9 kernel: fix unused-variable 2023-01-19 13:54:42 +07:00
weishu
deac6163d6 kernel: 1. use prctl lsm hook; 2. refine sucompat hook 2023-01-19 13:31:55 +07:00
weishu
830c27361e kernel: unify workqueue 2023-01-18 18:37:27 +07:00
Ylarod
5b2efd65b1 kernel: add null check (#84) 2023-01-18 17:05:40 +08:00
Ylarod
2724c6211a kernel: put original group_info (#82) 2023-01-18 07:59:26 +08:00
Ylarod
3d5effb678 kernel: fix panic in #79 (#80) 2023-01-17 21:51:19 +08:00
weishu
2a1e91cb34 kernel: don't use 0(root uid) as manager init uid 2023-01-17 13:49:30 +07:00
weishu
ab36e1fa0c kernel: add uid observer, correctly prune uid allowlist when app is installed/uninstalled. 2023-01-17 12:44:38 +07:00
weishu
bf3edfd0ef kernel: fix init_groups not exist int 5.15 2023-01-16 16:33:51 +07:00
weishu
ece66a3c38 kernel: setgroup to root for su 2023-01-16 15:43:14 +07:00
weishu
2222a999b9 kernel: version 9 2023-01-16 11:20:27 +07:00
Scirese
4f99d865cb kernel: make kernel correctly response CMD_GRANT_ROOT (#73) 2023-01-15 20:11:21 +08:00
Ylarod
a30aab1da6 [skip ci] minor fixup (#72)
1. update README_CN.md
2. indent fixup
2023-01-15 17:05:08 +08:00
chen2021-web
2359b16526 backport to 4.14 (#59) 2023-01-15 15:34:15 +08:00
Scirese
0b86cd69fc [skip ci] kernel: allow root processes to get version (#63) 2023-01-14 21:52:57 +08:00
Ylarod
5e77d1cd5b kernel: add CONFIG_KSU_DEBUG (#19)
* Kconfig: add KSU_DEBUG

* print alert on debug mode

* allow shell by default

* store signature to var on debug mode

* format

* export as module_param

* rename apk_sign to kernelsu
2023-01-14 21:45:34 +08:00
weishu
0e0a812a9c kernel: backport to 4.19 (#36) 2023-01-10 23:20:32 +08:00
weishu
43bea50605 kernel: fix syscall_work version 2023-01-07 20:11:33 +07:00
weishu
94d0d5ac6b kernel: syscall_work is introduced above 5.10 2023-01-07 20:07:16 +07:00
weishu
d7cfa6b669 kernel: version -> 8 2023-01-04 13:43:53 +07:00
weishu
d3d6601006 kernel: version -> 7 2023-01-03 09:21:46 +07:00
weishu
00b4025325 kernel: become_manager return true iff it is manager 2022-12-29 16:15:45 +07:00
weishu
b427c86ab3 misc: code format(use kernel code stype: https://www.kernel.org/doc/html/v6.1/process/coding-style.html 2022-12-27 18:21:10 +07:00
weishu
0661dda164 kernel: fix wrong args 2022-12-26 15:08:17 +07:00
tiann
82161dec80 kernel: fix path leak 2022-12-23 12:35:25 +07:00
weishu
7b60a1e5f8 kernel: improve manager validation 2022-12-23 11:47:27 +07:00
weishu
2a891a478c kernel: version -> 5 2022-12-23 09:00:50 +07:00
weishu
dcb1d38a37 kernel: fix seccomp, this is actually a fix of previous commit 2022-12-22 22:20:12 +07:00