Преглед изворни кода

ci(build): update susfs version handling and lsm config

- Rename matrix parameter from apply_susfs_v1_5_9 to susfs_version for clarity
- Add support for SUSFS v1.5.12 with specific commit checkouts
- Update LSM default configuration to include baseband_guard
- Fix uid handling in susfs.c for compatibility
TheWildJames пре 11 месеци
родитељ
комит
c2b1a46ae1
1 измењених фајлова са 32 додато и 5 уклоњено
  1. 32 5
      .github/workflows/build.yml

+ 32 - 5
.github/workflows/build.yml

@@ -27,7 +27,7 @@ jobs:
       fail-fast: false
       matrix:
         apply_module_check_bypass: ["normal", "bypass"]
-        apply_susfs_v1_5_9: ["v1.5.9", "v1.5.12"]
+        susfs_version: ["v1.5.9", "v1.5.12"]
 
     steps:
       - name: Maximize Build Space
@@ -88,7 +88,7 @@ jobs:
           git clone https://gitlab.com/simonpunk/susfs4ksu.git -b "$SUSFS_BRANCH"
           
           # Checkout specific commits for SUSFS v1.5.9 if enabled
-          if [ "${{ matrix.apply_susfs_v1_5_9 }}" = "v1.5.9" ]; then
+          if [ "${{ matrix.susfs_version }}" = "v1.5.9" ]; then
             cd susfs4ksu
             case "${{ inputs.android_version }}-${{ inputs.kernel_version }}" in
               "android15-6.6")
@@ -113,6 +113,32 @@ jobs:
             cd ..
           fi
           
+          # Checkout specific commits for SUSFS v1.5.12 if enabled
+          if [ "${{ matrix.susfs_version }}" = "v1.5.12" ]; then
+            cd susfs4ksu
+            case "${{ inputs.android_version }}-${{ inputs.kernel_version }}" in
+              "android12-5.10")
+                git checkout ed19454a4b5905e6718c9a22fad769b906837931
+                ;;
+              "android13-5.10")
+                git checkout 8919927b63d95e62d33842452b9a60546187fb7b
+                ;;
+              "android13-5.15")
+                git checkout 700b9316b5a1cab174401b57f4198782a17154fb
+                ;;
+              "android14-5.15")
+                git checkout e1b1bba04b3cada700b8fd5bda4cfd4c59de07a2
+                ;;
+              "android14-6.1")
+                git checkout f16560ce8263fbfa9b2f259e9531f72d6fda4e3f
+                ;;
+              "android15-6.6")
+                git checkout c49b1dab205bbc4ef20b120e84c5b7530355961d
+                ;;
+            esac
+            cd ..
+          fi
+          
 
       - name: Initialize and Sync Kernel Source
         run: |
@@ -207,7 +233,7 @@ jobs:
           cd "$CONFIG"
           
           # Apply compatibility fixes
-          if [ "${{ matrix.apply_susfs_v1_5_9 }}" = "v1.5.9" ]; then
+          if [ "${{ matrix.susfs_version }}" = "v1.5.9" ]; then
             SUSFS_VERSION="1.5.9"
           else
             SUSFS_VERSION="1.5.12"
@@ -229,6 +255,7 @@ jobs:
             patch -p1 < fix_namespace.c.patch || true
             cp ../../kernel_patches/wild/susfs_fix_patches/v${SUSFS_VERSION}/fix_open.c.patch ./
             patch -p1 < fix_open.c.patch || true
+            sed -i 's/i_uid_into_mnt(i_user_ns(inode), inode)/i_uid_into_mnt(inode->i_sb->s_user_ns, inode)/g' fs/susfs.c
           fi
 
           # Apply KSU integration patches
@@ -293,7 +320,7 @@ jobs:
           sed -n '/^config LSM$/,/^help$/{ /^[[:space:]]*default/ p }' common/security/Kconfig
           
           # Apply the sed command to add baseband_guard to default security configurations
-          sed -i '/^config LSM$/,/^help$/{ /^[[:space:]]*default/ { /baseband_guard/! { s/default ""/default "baseband_guard"/; s/default "\([^"]*\)"/default "baseband_guard,\1"/ } } }' common/security/Kconfig
+          sed -i '/^config LSM$/,/^help$/{ /^[[:space:]]*default/ { /baseband_guard/! s/lockdown/lockdown,baseband_guard/ } }' common/security/Kconfig
           
           # After sed: Show the updated LSM default line
           echo "=== After sed ==="
@@ -439,7 +466,7 @@ jobs:
             SUBLEVEL_FOR_NAME="$ACTUAL_SUBLEVEL"
           fi
           # Set artifact name base for consistent naming
-          ARTIFACT_BASE="WKSU-${{ env.KSUVER }}-SUSFS_${{ matrix.apply_susfs_v1_5_9 }}-${{ inputs.android_version }}-${{ inputs.kernel_version }}.${SUBLEVEL_FOR_NAME}-${{ inputs.os_patch_level }}-${{ matrix.apply_module_check_bypass == 'bypass' && 'Module_Check_Bypass' || 'Normal' }}"
+          ARTIFACT_BASE="WKSU-${{ env.KSUVER }}-SUSFS_${{ matrix.susfs_version }}-${{ inputs.android_version }}-${{ inputs.kernel_version }}.${SUBLEVEL_FOR_NAME}-${{ inputs.os_patch_level }}-${{ matrix.apply_module_check_bypass == 'bypass' && 'Module_Check_Bypass' || 'Normal' }}"
           echo "ARTIFACT_BASE=$ARTIFACT_BASE" >> $GITHUB_ENV
           echo "FILE_NAME=$ARTIFACT_BASE" >> $GITHUB_ENV