Public bug reported: [Impact]
Enable DRTM (Dynamic Root of Trust for Measurement) on the linux-nvidia kernel, giving Grace-based platforms hardware-measured boot-integrity attestation. Adds: - ARM64 Secure Launch (DRTM): on `drtm=on` the kernel (as DLME) requests a dynamic launch, measures ACPI/DTB/cmdline/initrd into the TPM (PCR 18), validates the EFI systab/memory map, asserts SMMU DMA protection, and disables EFI runtime services. - Trusted KASLR: under launch, the linear-map and kernel-image KASLR are seeded from the firmware TRNG (`TRNG_RND64`) instead of the attacker-visible FDT seed. - FIRME attestation driver (`nvidia_firme`): TSM report + measurement-register backends (configfs/sysfs). [Test Plan] On DRTM-capable Grace/GB200 (TF-A/EL3 Secure Launch service + TPM): - Boot `drtm=on` and confirm the launch engaged: `dmesg | grep -i slaunch` shows `DRTM Secure Launch detected`, the ACPI/DTB/cmdline/initrd measurement chain, and `SMMU DMA protection verified`; `modprobe nvidia_firme` loads. - Boot without `drtm=on` → boots via the standard EFI stub (feature inert when not requested). Validated on Grace/GB200/GB300. [Where problems could occur] - The Secure Launch code is gated behind the `drtm=on` command-line parameter, so without it the kernel behaves as before. The configuration changes it requires, though, apply to every arm64 build. - Trusted KASLR requires disabling memory hotplug (`MEMORY_HOTPLUG=n`), which also disables the features built on it: ZONE_DEVICE, DAX and NVDIMM, HMM device memory, GPU shared virtual memory, PCI peer-to-peer DMA, VFIO DMABUF and virtio-mem. This is an intentional trade-off, limited to arm64; amd64 keeps memory hotplug. - The image also ships uncompressed (`EFI_ZBOOT=n`), adding about 48 MB to `/boot` and the package per flavour, because GRUB on Grace can't load the compressed one. [Other Info] References: - Arm DRTM Architecture (DEN0113) — dynamic-launch/DLME interface this implements: https://developer.arm.com/documentation/den0113/latest/ - Arm TRNG Firmware Interface (DEN0098) — SMCCC `TRNG_RND64`, trusted-entropy source for KASLR: https://developer.arm.com/documentation/den0098/latest/ - Trusted Firmware-A DRTM service — firmware side that performs the launch: https://trustedfirmware-a.readthedocs.io/en/latest/design_documents/drtm_poc.html - ARM64 Secure Launch upstreaming (LPC 2024, TrenchBoot): https://lpc.events/event/18/contributions/1814/attachments/1482/3132/arm_securelaunch_lpc_2024.pdf ** Affects: linux-nvidia (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2161563 Title: Enable ARM64 Secure Launch (DRTM) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia/+bug/2161563/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
