Quellcode durchsuchen

feat(kernelsu): add patch for SELinux function declarations in KernelSU-Next

TheWildJames vor 3 Monaten
Ursprung
Commit
5d618d609f

+ 8 - 0
.github/actions/kernelsu/action.yml

@@ -64,3 +64,11 @@ runs:
         echo "KSU_GIT_TAG=$KSU_GIT_TAG" >> $GITHUB_ENV
         echo "KSU_VERSION=$KSU_VERSION" >> $GITHUB_ENV
         echo "KSU_COMMIT=$KSU_COMMIT" >> $GITHUB_ENV
+
+    - name: 'Fix KernelSU-Next'
+      shell: bash
+      working-directory: ${{ github.workspace }}/kernel/KernelSU-Next
+      run: |
+        set -euo pipefail
+        cp ${{ github.action_path }}/patches/static.patch "${{ github.workspace }}/kernel/KernelSU-Next/static.patch"
+        patch -p1 < static.patch

+ 23 - 0
.github/actions/kernelsu/patches/static.patch

@@ -0,0 +1,23 @@
+diff --git a/kernel/feature/selinux_hide.c b/kernel/feature/selinux_hide.c
+index e1384d9..56e4cfe 100644
+--- a/kernel/feature/selinux_hide.c
++++ b/kernel/feature/selinux_hide.c
+@@ -35,12 +35,12 @@ bool ksu_selinux_hide_enabled __read_mostly = false;
+ bool ksu_selinux_hide_running __read_mostly = false;
+ 
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 6, 0)
+-static int security_context_to_sid_with_policy(struct selinux_policy *policy, const char *scontext, u32 scontext_len,
+-                                               u32 *sid, u32 def_sid, gfp_t gfp_flags);
+-static int security_sid_to_context_with_policy(struct selinux_policy *policy, u32 sid, char **scontext,
+-                                               u32 *scontext_len);
+-static void security_compute_av_user_with_policy(struct selinux_policy *policy, u32 ssid, u32 tsid, u16 tclass,
+-                                                 struct av_decision *avd);
++int security_context_to_sid_with_policy(struct selinux_policy *policy, const char *scontext, u32 scontext_len,
++                                        u32 *sid, u32 def_sid, gfp_t gfp_flags);
++int security_sid_to_context_with_policy(struct selinux_policy *policy, u32 sid, char **scontext,
++                                        u32 *scontext_len);
++void security_compute_av_user_with_policy(struct selinux_policy *policy, u32 ssid, u32 tsid, u16 tclass,
++                                          struct av_decision *avd);
+ static void (*security_dump_masked_av_fn)(struct policydb *policydb, struct context *scontext, struct context *tcontext,
+                                           u16 tclass, u32 permissions, const char *reason) = NULL;
+ static void (*context_struct_compute_av_fn)(struct policydb *policydb, struct context *scontext,