From 9af7d749da30c84ba107c95f476f339b893bc8f7 Mon Sep 17 00:00:00 2001 From: backslashxx <118538522+backslashxx@users.noreply.github.com> Date: Fri, 29 Mar 2024 07:32:35 +0800 Subject: [PATCH] KernelSU: 11872-klts This corresponds to v0.9.5 / 11872 upstream with cherry-picks from upstream: Convert devpts domain to ksu_file (#1801) throne_tracker: skip iterate if failed to open dir (#1832) kernel: Relax dentry_path_raw compare in core_hook (#2041) kernel/core_hook.c: use upstream ksu_umount_mnt kernel: require path_umount backporting Addendums for the sake of legacy maintenance: treewide: tree prep for kernel-driver only kernel: expose allowlist workaround as Kconfig option kernel: selinux: add security_bounded_transition hook for < 4.14 kernel: selinux: fix redefined KERNEL_SU_DOMAIN kernel/ksu.c: disable KPROBES=n warning KernelSU: 11872-klts Warning: Kernel built with this branch will not work with the provided manager from this repo. Use official KernelSU v1.0.1 Manager. Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com> --- kernel/Makefile | 12 ++---------- kernel/setup.sh | 2 +- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/kernel/Makefile b/kernel/Makefile index 82e788031cc9..9a2135f11e33 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -17,18 +17,10 @@ ccflags-y += -I$(objtree)/security/selinux -include $(srctree)/include/uapi/asm- obj-$(CONFIG_KSU) += kernelsu.o -# .git is a text file while the module is imported by 'git submodule add'. -ifeq ($(shell test -e $(srctree)/$(src)/../.git; echo $$?),0) -$(shell cd $(srctree)/$(src); /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin [ -f ../.git/shallow ] && git fetch --unshallow) -KSU_GIT_VERSION := $(shell cd $(srctree)/$(src); /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin git rev-list --count HEAD) -# ksu_version: major * 10000 + git version + 200 for historical reasons -$(eval KSU_VERSION=$(shell expr 10000 + $(KSU_GIT_VERSION) + 200)) +# hardcode! +$(eval KSU_VERSION=11872) $(info -- KernelSU version: $(KSU_VERSION)) ccflags-y += -DKSU_VERSION=$(KSU_VERSION) -else # If there is no .git file, the default version will be passed. -$(warning "KSU_GIT_VERSION not defined! It is better to make KernelSU a git submodule!") -ccflags-y += -DKSU_VERSION=16 -endif ifeq ($(shell grep -q " current_sid(void)" $(srctree)/security/selinux/include/objsec.h; echo $$?),0) ccflags-y += -DKSU_COMPAT_HAS_CURRENT_SID diff --git a/kernel/setup.sh b/kernel/setup.sh index e688dbaf3ae5..b4b0cd88b8f3 100755 --- a/kernel/setup.sh +++ b/kernel/setup.sh @@ -39,7 +39,7 @@ perform_cleanup() { # Sets up or update KernelSU environment setup_kernelsu() { echo "[+] Setting up KernelSU..." - test -d "$GKI_ROOT/KernelSU" || git clone https://github.com/tiann/KernelSU && echo "[+] Repository cloned." + test -d "$GKI_ROOT/KernelSU" || git clone https://github.com/backslashxx/KernelSU -b 11872-klts --depth=1 && echo "[+] Repository cloned." cd "$GKI_ROOT/KernelSU" git stash && echo "[-] Stashed current changes." if [ "$(git status | grep -Po 'v\d+(\.\d+)*' | head -n1)" ]; then