Public bug reported:
SRU Justification:
[Impact]
OPTEE is non functional if the ARM FFA 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 FFA 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 FFA Kernel Module loads, it aborts since 1.2 is NOT
supported and is unloaded. Later the OPTEE driver uses an FFA API and
tries calling into the FFA 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
not loading either as they depend on the optee driver.
[Fix]
Disable the kernel configuration for the ARM FFA Transport. This results in
OPTEE not calling into the FFA kernel module and instead using its traditional
SMC transport.
[Test Case]
We have fTPM/OPTEE support in our kernel. Removing the ARM FFA 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.
[Regression Potential]
None. This change only effects OPTEE, as its the only SW in the kernel using
the ARM FFA Transport (which cannot run/execute until Ubuntu 24.04 kernel
supports ARM SMCCC version 1.2.)
** Affects: linux-bluefield (Ubuntu)
Importance: Undecided
Status: New
** Description changed:
SRU Justification:
[Impact]
OPTEE is non functional if the ARM FFA 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 FFA 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 FFA Kernel Module loads, it aborts since 1.2 is NOT
supported and is unloaded. Later the OPTEE driver uses an FFA API and
tries calling into the FFA 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
not loading either as they depend on the optee driver.
[Fix]
Disable the kernel configuration for the ARM FFA Transport. This results in
OPTEE not calling into the FFA kernel module and instead using its traditional
SMC transport.
[Test Case]
We have fTPM/OPTEE support in our kernel. Removing the ARM FFA 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.
[Regression Potential]
- None. This change only effects OPTEE, as its the only SW in the kernel using
the ARM FFA Transport (which cannot run/execute until Ubuntu 24.04 kernel
supports ARM SMCCC version 1.2.
+ None. This change only effects OPTEE, as its the only SW in the kernel using
the ARM FFA Transport (which cannot run/execute until Ubuntu 24.04 kernel
supports ARM SMCCC version 1.2.)
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-bluefield in Ubuntu.
https://bugs.launchpad.net/bugs/2120582
Title:
Ubuntu:noble:[Config] Disable CONFIG_ARM_FFA_TRANSPORT and
CONFIG_ARM_FFA_SMCCC for OPTEE functionality
Status in linux-bluefield package in Ubuntu:
New
Bug description:
SRU Justification:
[Impact]
OPTEE is non functional if the ARM FFA 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 FFA 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 FFA Kernel Module loads, it aborts since 1.2 is
NOT supported and is unloaded. Later the OPTEE driver uses an FFA API
and tries calling into the FFA 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 not loading either as they depend on the optee driver.
[Fix]
Disable the kernel configuration for the ARM FFA Transport. This results in
OPTEE not calling into the FFA kernel module and instead using its traditional
SMC transport.
[Test Case]
We have fTPM/OPTEE support in our kernel. Removing the ARM FFA 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.
[Regression Potential]
None. This change only effects OPTEE, as its the only SW in the kernel using
the ARM FFA Transport (which cannot run/execute until Ubuntu 24.04 kernel
supports ARM SMCCC version 1.2.)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-bluefield/+bug/2120582/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp