diff --git a/device/testing/linux-postmarketos-asahi/0001-nvmem-apple-spmi-nvmem-Fix-CFI-failures.patch b/device/testing/linux-postmarketos-asahi/0001-nvmem-apple-spmi-nvmem-Fix-CFI-failures.patch new file mode 100644 index 000000000..b60229901 --- /dev/null +++ b/device/testing/linux-postmarketos-asahi/0001-nvmem-apple-spmi-nvmem-Fix-CFI-failures.patch @@ -0,0 +1,54 @@ +From 7db3ec97747fa7e92f11f4b4e610f2453d06663e Mon Sep 17 00:00:00 2001 +From: Jens Reidel +Date: Tue, 18 Nov 2025 01:41:13 +0100 +Subject: [PATCH] nvmem: apple-spmi-nvmem: Fix CFI failures + +Signed-off-by: Jens Reidel +--- + drivers/nvmem/apple-spmi-nvmem.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/drivers/nvmem/apple-spmi-nvmem.c b/drivers/nvmem/apple-spmi-nvmem.c +index 88614005d5ce..acc2cddf3f3b 100644 +--- a/drivers/nvmem/apple-spmi-nvmem.c ++++ b/drivers/nvmem/apple-spmi-nvmem.c +@@ -18,6 +18,24 @@ static const struct regmap_config apple_spmi_regmap_config = { + .max_register = 0xffff, + }; + ++static int apple_spmi_nvmem_read(void *priv, ++ unsigned int offset, ++ void *val, ++ size_t bytes) ++{ ++ struct regmap *map = priv; ++ return regmap_bulk_read(map, offset, val, bytes); ++} ++ ++static int apple_spmi_nvmem_write(void *priv, ++ unsigned int offset, ++ void *val, ++ size_t bytes) ++{ ++ struct regmap *map = priv; ++ return regmap_bulk_write(map, offset, val, bytes); ++} ++ + static int apple_spmi_nvmem_probe(struct spmi_device *sdev) + { + struct regmap *regmap; +@@ -28,8 +46,8 @@ static int apple_spmi_nvmem_probe(struct spmi_device *sdev) + .word_size = 1, + .stride = 1, + .size = 0xffff, +- .reg_read = (void *)regmap_bulk_read, +- .reg_write = (void *)regmap_bulk_write, ++ .reg_read = apple_spmi_nvmem_read, ++ .reg_write = apple_spmi_nvmem_write, + }; + + regmap = devm_regmap_init_spmi_ext(sdev, &apple_spmi_regmap_config); +-- +2.51.1 + + diff --git a/device/testing/linux-postmarketos-asahi/APKBUILD b/device/testing/linux-postmarketos-asahi/APKBUILD index 8bdb66bf9..3ef368f8c 100644 --- a/device/testing/linux-postmarketos-asahi/APKBUILD +++ b/device/testing/linux-postmarketos-asahi/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Clayton Craft pkgname=linux-postmarketos-asahi -pkgver=6.17.8_p1 +pkgver=6.17.9_p1 pkgrel=0 _rel=${pkgver#*_p} _kver=${pkgver%_p*} @@ -17,7 +17,6 @@ options="!strip !tracedeps pmb:cross-native pmb:kconfigcheck-community - pmb:kconfigcheck-immutable pmb:kconfigcheck-uefi pmb:kconfigcheck-virt " @@ -56,6 +55,8 @@ source=" asahi.config misc.config pmos.config + + 0001-nvmem-apple-spmi-nvmem-Fix-CFI-failures.patch " builddir="$srcdir/linux-asahi-$_asahiver" _defconfig="defconfig" @@ -90,9 +91,10 @@ package() { } sha512sums=" -962e7eb913fcab9f34ac13556d5b2d2fb4bb16ca20744a7ed63c227786176d744dfda6b4c84b58a0d58cb09ea4b0cb7aa1bf0a20cbf797d603e9566f0761c013 linux-postmarketos-asahi-6.17.8-1.tar.gz -2e593611b6ce4d753addfb37ef48363177ae875d17612aba88fc8e02f006cf7c8b9befe1dd360405dd9c647394a7bbe4e86e1e61fbb1451dbf683bced91c3cde config-postmarketos-asahi.aarch64 +a8d3af18bdc3bc218b4ba7fb0994d4fae23e11e0c4bd93cea50aea36776b4b618b9d2eea8a2c14207cd5ebd4c2348dbe02e694e2727e94a6ee6712750ad5ab60 linux-postmarketos-asahi-6.17.9-1.tar.gz +26d18cf078495206c63e433b77e358e9ce48c4e6433e2dee53388be5c3456b536a7337d21423566ca6dd3f6e4bbea32fd2066c78e15dac3b2fb0f655728319bf config-postmarketos-asahi.aarch64 c23c89cefc4690c69f9e18e12f542078e1231e3f3017624a1e1499bdf8ee132a95c7d8499fe4313d9b19922b043dd9ed7e743ddf046b6f298bbf4e665e4cdc7c asahi.config -7ac17f293047d02fb21bf6ec6181b60c4d44d5d48b4ed162071639a319ddf0f0ae1c8db70107550ad44c1c5056f840347d9da57baa4c9adf79e8a1c1bc1398d2 misc.config -f8c617814178ca4b49ba2d9e31c8fd9c655b3829bf34e04ba0c73c16af1821c2fd512ef9a15ebde608a06fd70c2b8ff4d293012e40c9e0000af97792022ce6d1 pmos.config +71aa3bcdf22b81f261db9750eef5c654cbb02e2d710db99346ad4c0a646a75fb24844d89c233e9c06d27979dc7bedc31478ee7e3dea0879ba3de8c6f9419870d misc.config +4b82a0e9ed8cd83fcef897c665dd1b386ae1d6d0cbce09d059f39197d899e694e004890712b57a93598e077b59d5b7e460f9190c651666879336e7e3f2035638 pmos.config +5c07c59405356d1a14adbb98adbd9efde8352c1f07ab791d15a208c8fe262ce0dd47820694cb4b371b68b05917f19ec248c4c506d74b206e25a90acf7c070ded 0001-nvmem-apple-spmi-nvmem-Fix-CFI-failures.patch " diff --git a/device/testing/linux-postmarketos-asahi/config-postmarketos-asahi.aarch64 b/device/testing/linux-postmarketos-asahi/config-postmarketos-asahi.aarch64 index 620f6690b..b9f17ddfa 100644 --- a/device/testing/linux-postmarketos-asahi/config-postmarketos-asahi.aarch64 +++ b/device/testing/linux-postmarketos-asahi/config-postmarketos-asahi.aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.17.8 Kernel Configuration +# Linux/arm64 6.17.9 Kernel Configuration # CONFIG_CC_VERSION_TEXT="Alpine clang version 21.1.2" CONFIG_GCC_VERSION=0 @@ -127,7 +127,6 @@ CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y # CONFIG_PREEMPT_DYNAMIC is not set # CONFIG_SCHED_CORE is not set -# CONFIG_SCHED_CLASS_EXT is not set # # CPU/Task time and stats accounting @@ -568,6 +567,7 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_STACKPROTECTOR_PER_TASK=y +# CONFIG_UNWIND_PATCH_PAC_INTO_SCS is not set CONFIG_ARM64_CONTPTE=y # end of Kernel Features @@ -808,17 +808,21 @@ CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y -# CONFIG_SHADOW_CALL_STACK is not set +CONFIG_SHADOW_CALL_STACK=y +CONFIG_LTO=y +CONFIG_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_HAS_LTO_CLANG=y -CONFIG_LTO_NONE=y +# CONFIG_LTO_NONE is not set # CONFIG_LTO_CLANG_FULL is not set -# CONFIG_LTO_CLANG_THIN is not set +CONFIG_LTO_CLANG_THIN=y CONFIG_ARCH_SUPPORTS_CFI_CLANG=y -# CONFIG_CFI_CLANG is not set +CONFIG_CFI_CLANG=y +CONFIG_CFI_ICALL_NORMALIZE_INTEGERS=y CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG=y CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC=y +# CONFIG_CFI_PERMISSIVE is not set CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -883,8 +887,7 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_HAVE_GCC_PLUGINS=y CONFIG_FUNCTION_ALIGNMENT_4B=y -CONFIG_FUNCTION_ALIGNMENT_8B=y -CONFIG_FUNCTION_ALIGNMENT=8 +CONFIG_FUNCTION_ALIGNMENT=4 CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y # end of General architecture-dependent options @@ -981,7 +984,7 @@ CONFIG_COREDUMP=y # CONFIG_SWAP=y # CONFIG_ZSWAP is not set -CONFIG_ZSMALLOC=m +CONFIG_ZSMALLOC=y # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC_CHAIN_SIZE=8 @@ -1539,7 +1542,6 @@ CONFIG_NET_SCH_MQPRIO=m CONFIG_NET_SCH_INGRESS=m # CONFIG_NET_SCH_PLUG is not set # CONFIG_NET_SCH_ETS is not set -# CONFIG_NET_SCH_BPF is not set # CONFIG_NET_SCH_DUALPI2 is not set # CONFIG_NET_SCH_DEFAULT is not set @@ -2243,7 +2245,7 @@ CONFIG_PNPACPI=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -CONFIG_ZRAM=m +CONFIG_ZRAM=y # CONFIG_ZRAM_BACKEND_LZ4 is not set # CONFIG_ZRAM_BACKEND_LZ4HC is not set CONFIG_ZRAM_BACKEND_ZSTD=y @@ -6274,7 +6276,6 @@ CONFIG_HID_MCP2221=m # # HID-BPF support # -CONFIG_HID_BPF=y # end of HID-BPF support CONFIG_I2C_HID=y @@ -8828,7 +8829,7 @@ CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_GHASH=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m # CONFIG_CRYPTO_RMD160 is not set CONFIG_CRYPTO_SHA1=y @@ -9160,20 +9161,17 @@ CONFIG_DEBUG_MISC=y CONFIG_DEBUG_INFO=y CONFIG_AS_HAS_NON_CONST_ULEB128=y # CONFIG_DEBUG_INFO_NONE is not set -# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y # CONFIG_DEBUG_INFO_DWARF4 is not set -CONFIG_DEBUG_INFO_DWARF5=y -# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_DWARF5 is not set +CONFIG_DEBUG_INFO_REDUCED=y CONFIG_DEBUG_INFO_COMPRESSED_NONE=y # CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set # CONFIG_DEBUG_INFO_COMPRESSED_ZSTD is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_BTF=y CONFIG_PAHOLE_HAS_SPLIT_BTF=y CONFIG_PAHOLE_HAS_BTF_TAG=y CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y -CONFIG_DEBUG_INFO_BTF_MODULES=y -# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set # CONFIG_GDB_SCRIPTS is not set CONFIG_FRAME_WARN=2048 # CONFIG_STRIP_ASM_SYMS is not set @@ -9340,8 +9338,6 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_FREGS=y CONFIG_HAVE_FTRACE_GRAPH_FUNC=y CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS=y CONFIG_HAVE_EXTRA_IPI_TRACEPOINTS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y @@ -9362,10 +9358,7 @@ CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y # CONFIG_FUNCTION_GRAPH_RETVAL is not set # CONFIG_FUNCTION_GRAPH_RETADDR is not set -CONFIG_FUNCTION_TRACE_ARGS=y CONFIG_DYNAMIC_FTRACE=y -CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y -CONFIG_DYNAMIC_FTRACE_WITH_CALL_OPS=y CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y # CONFIG_FPROBE is not set # CONFIG_FUNCTION_PROFILER is not set @@ -9382,7 +9375,6 @@ CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set # CONFIG_PROFILE_ALL_BRANCHES is not set # CONFIG_BLK_DEV_IO_TRACE is not set -CONFIG_PROBE_EVENTS_BTF_ARGS=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_UPROBE_EVENTS=y diff --git a/device/testing/linux-postmarketos-asahi/misc.config b/device/testing/linux-postmarketos-asahi/misc.config index 6367d5619..80db59279 100644 --- a/device/testing/linux-postmarketos-asahi/misc.config +++ b/device/testing/linux-postmarketos-asahi/misc.config @@ -17,11 +17,6 @@ CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y # systemd CONFIG_BPF_LSM=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_INFO_REDUCED=n -CONFIG_DEBUG_INFO_BTF=y -CONFIG_DEBUG_INFO_BTF_MODULES=y -CONFIG_DEBUG_INFO_DWARF5=y CONFIG_KPROBES=y CONFIG_KPROBE_EVENTS=y CONFIG_SECURITYFS=y diff --git a/device/testing/linux-postmarketos-asahi/pmos.config b/device/testing/linux-postmarketos-asahi/pmos.config index 76b4329d0..2059dc3f9 100644 --- a/device/testing/linux-postmarketos-asahi/pmos.config +++ b/device/testing/linux-postmarketos-asahi/pmos.config @@ -30,9 +30,11 @@ CONFIG_UDMABUF=y # community_various CONFIG_BINFMT_MISC=m CONFIG_CIFS=m +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_DM_INTEGRITY=m CONFIG_LEDS_TRIGGER_PATTERN=m CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_NETFILTER_ADVANCED=y CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m @@ -70,6 +72,7 @@ CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_RR=m CONFIG_KEYS=y +CONFIG_MD=y CONFIG_NAMESPACES=y CONFIG_NETFILTER_XT_MARK=m CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m @@ -115,8 +118,23 @@ CONFIG_F2FS_FS=y CONFIG_UDF_FS=m CONFIG_XFS_FS=m +# hardening +CONFIG_CFI_CLANG=y +# CONFIG_CFI_PERMISSIVE is not set +CONFIG_LTO_CLANG_THIN=y +CONFIG_CFI_ICALL_NORMALIZE_INTEGERS=y +CONFIG_SHADOW_CALL_STACK=y + +# immutable +CONFIG_EFIVAR_FS=m +CONFIG_DM_VERITY=m +CONFIG_EROFS_FS=y +CONFIG_EROFS_FS_ZIP=y + # input +CONFIG_BT=m CONFIG_BT_HIDP=m +CONFIG_GPIOLIB=y CONFIG_HIDRAW=y CONFIG_HID_A4TECH=m CONFIG_HID_ACCUTOUCH=m @@ -235,12 +253,15 @@ CONFIG_HID_XIAOMI=m CONFIG_HID_XINMO=m CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m +CONFIG_IIO=y CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=y CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LEDS_CLASS_MULTICOLOR=m CONFIG_UHID=m CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_HIDDEV=y @@ -251,8 +272,7 @@ CONFIG_HID_NVIDIA_SHIELD=m CONFIG_HID_GOOGLE_STADIA_FF=m CONFIG_HID_WINWING=m CONFIG_HID_GOODIX_SPI=m -CONFIG_HID_BPF=y -CONFIG_BPF_JIT=y +CONFIG_SPI=y # iwd CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -262,7 +282,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y @@ -306,12 +326,14 @@ CONFIG_IP_NF_IPTABLES_LEGACY=m CONFIG_NETFILTER_XTABLES_LEGACY=y # usb_gadgets +CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_RNDIS=y # CONFIG_USB_ETH is not set # CONFIG_USB_FUNCTIONFS is not set +CONFIG_USB_GADGET=y # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MASS_STORAGE is not set @@ -356,16 +378,10 @@ CONFIG_WIREGUARD=m # zram CONFIG_SWAP=y -CONFIG_ZRAM=m -CONFIG_ZSMALLOC=m +CONFIG_ZRAM=y +CONFIG_ZSMALLOC=y CONFIG_ZRAM_BACKEND_ZSTD=y -# immutable -CONFIG_DM_VERITY=m -CONFIG_EFIVAR_FS=m -CONFIG_EROFS_FS=y -CONFIG_EROFS_FS_ZIP=y - # uefi CONFIG_DMI=y CONFIG_EFI=y