Package: linux-image-arm64 Version: 7.0.13-1~bpo13+1 Severity: wishlist X-Debbugs-Cc: [email protected] User: [email protected] Usertags: arm64
Dear kernel team, please enable, on arm64 (and ideally generically): CONFIG_TCG_FTPM_TEE=m This single module is the only thing preventing a fully working TPM 2.0 on the growing class of ARM SBCs that ship a standards-compliant UEFI firmware (mainline TF-A + OP-TEE + U-Boot, SystemReady-IR style) with the Microsoft fTPM reference implementation running as a trusted application inside OP-TEE. On such boards the firmware performs TCG2 measured boot and hands Linux the event log (visible as the EFI TPMEventLog / TPMFinalLog config tables); systemd 257 in trixie is fully TPM2-capable (systemd-cryptenroll, pcrlock, LUKS2 token plugins). The missing driver is tpm_ftpm_tee. Details that make this a low-risk change: - drivers/char/tpm/tpm_ftpm_tee.c is a small, self-contained proxy driver. - It depends only on TEE && OPTEE, both already =m in the Debian config (CONFIG_OPTEE=m), so it adds a module and nothing else when built. - It has zero cost on systems without an OP-TEE fTPM: it binds via TEE-bus enumeration of the fTPM TA UUID (bc50d971-d4c9-42c4-82cb-343fb7f37896) and simply never probes if that TA is absent. - Upstream precedent: the arm64 defconfig gained it in Feb 2026 (patchew.org/linux/[email protected]/). Verified on a Radxa ROCK 5B running mainline-based UEFI firmware: with a DKMS build of exactly this module, /dev/tpm0 appears, the firmware event log populates /sys/kernel/security/tpm0/binary_bios_measurements, and "bootctl status" reports "TPM2 Support: yes". Shipping the module in the Debian kernel removes the need for any out-of-tree build. Optional, separate follow-up (NOT required for the above to work): CONFIG_RPMB=y This enables in-kernel RPMB routing so the fTPM's secure storage does not need a userspace tee-supplicant. Without it, RPMB is served by tee-supplicant, which works. If enabled it should be =y not =m, because MMC_BLOCK has "depends on RPMB || !RPMB" and RPMB=m would demote the built-in MMC_BLOCK; as =y it is a small in-kernel class with no cost on systems lacking RPMB hardware. Thanks! -- System Information: Debian Release: 13.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: arm64 (aarch64) Foreign Architectures: amd64 Kernel: Linux 7.0.13+deb13-arm64 (SMP w/8 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages linux-image-arm64 depends on: ii linux-base-arm64 7.0.13-1~bpo13+1 ii linux-image-7.0.13+deb13-arm64 7.0.13-1~bpo13+1 linux-image-arm64 recommends no packages. linux-image-arm64 suggests no packages. -- no debconf information

