#!/bin/bash # US-S5-1 — enable remaining Graphene/AXP-class defconfig knobs on msm-4.14. # # Oracle: AXP/Graphene kernel hardening expects Yama + slab freelist random # (combo4 already ships SLAB_FREELIST_HARDENED). LOS sunfish_defconfig left both # off; CONFIG_LSM already lists yama but SECURITY_YAMA was unset so the LSM # never built. # # Does NOT apply high-offset CVE leftovers (nf_tables deliberately skipped). # CVE-2022-49980's one-liner stays on the denylist. The bacon applies # ports/cve-2022-49980-lock-scope.patch after the CVE lists. # # USERFAULTFD: GOLDEN's running 4.14.355 config leaves it unset. LOS 23 # sunfish_defconfig turns it on. This kernel has no UFFDIO_MOVE (that ioctl # is 6.1+), so ART only opens a fd and times out. Match GOLDEN. # # Usage: apply_uss5_1_defconfig.sh set -euo pipefail K=${1:?kernel tree} DEF="$K/arch/arm64/configs/sunfish_defconfig" test -f "$DEF" test -f "$K/security/yama/Kconfig" for k in SECURITY_YAMA SLAB_FREELIST_RANDOM USERFAULTFD HAVE_ARCH_USERFAULTFD_MINOR; do sed -i "/CONFIG_${k}/d" "$DEF" done { echo "CONFIG_SECURITY_YAMA=y" echo "CONFIG_SLAB_FREELIST_RANDOM=y" echo "# CONFIG_USERFAULTFD is not set" } >> "$DEF" echo "OK: US-S5-1 defconfig (YAMA + SLAB_FREELIST_RANDOM, USERFAULTFD off) on $K"