| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: apply susfs patches
- description: apply susfs patches
- inputs:
- android_version:
- description: 'Android version (android14)'
- required: true
- kernel_version:
- description: 'Kernel version (6.1)'
- required: true
- branch:
- description: 'device kernel'
- required: true
- runs:
- using: composite
- steps:
- - name: Apply to KSUN
- shell: bash
- run: |
- cd "$COMMON/KernelSU-Next"
- SUSFS_VERSION="v2.1.0"
-
- # Apply SUSFS to KernelSU-Next
- cp "$SUSFS4KSU/kernel_patches/KernelSU/10_enable_susfs_for_ksu.patch" .
- patch -p1 < 10_enable_susfs_for_ksu.patch || true
- rm -rf 10_enable_susfs_for_ksu.patch
- #Fix rejects from adding susfs to KSUN
- cp "$KERNEL_PATCHES/next/susfs_fix_patches/$SUSFS_VERSION/"*.patch .
- rm -rf multi_manager.patch
- rm -rf multi_sepolicy_fix.patch
- for p in *.patch; do
- patch -p1 < "$p"
- rm -f "$p"
- done
-
- - name: Apply to Kernel
- shell: bash
- run: |
- # Apply SUSFS to kernel
- cd "$COMMON"
- cp "$SUSFS4KSU/kernel_patches/fs/"* ./fs/
- cp "$SUSFS4KSU/kernel_patches/include/linux/"* ./include/linux/
- cp "$SUSFS4KSU/kernel_patches/50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch" ./
- #Prepare open.c for susfs patching
- sed -i '/#ifdef CONFIG_SECURITY_DEFEX/,/^#endif/d' fs/open.c
- #Prepare namespace.c for susfs patching
- sed -i '/copy_flags = CL_COPY_UNBINDABLE | CL_EXPIRE;/,/#endif/ {
- /#ifdef CONFIG_KDP_NS/,/#endif/ {
- /#else/,/#endif/!d
- /#else/d
- /#endif/d
- }
- }' fs/namespace.c
-
- # Apply SUSFS core patch
- patch -p1 < 50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch || true
- rm -rf 50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch
-
- if [ -d "$KERNEL_PATCHES/samsung/${{ inputs.branch }}" ]; then
- echo "Directory exists, applying fixes"
- cp "$KERNEL_PATCHES/samsung/${{ inputs.branch }}/"*.patch ./
- # Fix SUSFS rejects
- shopt -s nullglob
- for p in *.patch; do
- patch -p1 < "$p"
- rm -f "$p"
- done
- shopt -u nullglob
- else
- echo "No directory found, skipping"
- fi
-
- cd "$GITHUB_WORKSPACE"
- cat >> "$GKI_DEFCONFIG" << 'EOF'
- # SUSFS Configuration
- CONFIG_KSU_SUSFS=y
- EOF
|