[SRU][N:linux-bluefield][PATCH v2 0/1] UBUNTU: [CONFIG] Disable CONFIG_ARM_FFA_TRANSPORT and CONFIG_ARM_FFA_SMCCC for OPTEE functionality

James Hurley jahurley at nvidia.com
Mon Aug 18 17:33:26 UTC 2025


BugLink: https://bugs.launchpad.net/bugs/2120582

SRU Justification:

[Impact]
OPTEE is non functional if the ARM FF-A Transport is configured.

OP-TEE supports 2 communication transports and by default attempts to set up both transports.
(1) SMC - Secure Monitor Transport - this is the traditional and primary transport mechanism for OP-TEE.
(2) FF-A (Firmware Framework for Arm) Transport - this is new and added for Ubuntu 24.04

For the FF-A transport, the OPTEE driver depends on the FFA Kernel Module.

The FF-A Kernel Module requires ARM SMCCC version 1.2 support. Ubuntu 24.04 kernel only supports ARM SMCCC version 1.1 and below. What happens is when the FF-A Kernel Module loads, it aborts since 1.2 is NOT supported and is unloaded. Later the OPTEE driver uses an FF-A API and tries calling into the FF-A kernel Module (which has unloaded), resulting in the OPTEE driver getting an "undefined" symbol error and unloading itself. This also results in the Msoft fTPM driver and tee-supplicant service not loading either as they depend on the OPTEE driver.

[Fix]
Disable the kernel configuration for the ARM FF-A Transport. This results in OPTEE not calling into the FF-A kernel module and instead using its traditional SMC transport and loads and functions properly.

[Test Case]
We have fTPM/OPTEE support in our kernel. Removing the ARM FF-A config from the 24.04 kernel results in OPTEE working as designed using the SMC transport. The TPM2 tools are used to verify the full kernel path and that OPTEE is functional.

[Regression Potential]
None. This change only effects OPTEE, as OPTEE is the only SW in the kernel using the ARM FF-A Transport (which cannot run/execute until Ubuntu 24.04 kernel supports ARM SMCCC version 1.2.)


James Hurley (1):
  UBUNTU: [CONFIG] Disable CONFIG_ARM_FFA_TRANSPORT and
    CONFIG_ARM_FFA_SMCCC for OPTEE functionality

 debian.bluefield/config/annotations | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.30.1




More information about the kernel-team mailing list