NACK: [SRU][N:linux-bluefield][PATCH v1 1/1] UBUNTU: SAUCE: UBUNTU: [CONFIG] Fix OP-TEE driver load for Noble
Kuba Pawlak
kuba.pawlak at canonical.com
Mon Aug 18 13:20:45 UTC 2025
On 14.08.2025 17:59, James Hurley wrote:
> BugLink: https://bugs.launchpad.net/bugs/2120582
>
> Need to disable the KCONFIG support for the ARM FF-A Transport to make OPTEE functional.
>
> 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.
>
> The fix is to disable the kernel configuration (CONFIG_ARM_FFA_TRANSPORT and CONFIG_ARM_FFA_SMCCC) for the
> ARM FFA Transport. This results in OPTEE not calling into the FFA kernel module and instead using its
> traditional SMC transport and loads and functions properly.
> ---
> debian.master/config/annotations | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/debian.master/config/annotations b/debian.master/config/annotations
> index 7c73cd54a6c4..3f636baed4db 100644
> --- a/debian.master/config/annotations
> +++ b/debian.master/config/annotations
> @@ -1735,8 +1735,8 @@ CONFIG_ARM_ERRATA_857271 policy<{'armhf': 'y'}>
> CONFIG_ARM_ERRATA_857272 policy<{'armhf': 'y'}>
> CONFIG_ARM_EXYNOS_BUS_DEVFREQ policy<{'armhf': 'n'}>
> CONFIG_ARM_EXYNOS_CPUIDLE policy<{'armhf': 'n'}>
> -CONFIG_ARM_FFA_SMCCC policy<{'arm64': 'y'}>
> -CONFIG_ARM_FFA_TRANSPORT policy<{'arm64': 'm'}>
> +CONFIG_ARM_FFA_SMCCC policy<{'arm64': 'n'}>
> +CONFIG_ARM_FFA_TRANSPORT policy<{'arm64': 'n'}>
> CONFIG_ARM_GIC policy<{'arm64': 'y', 'armhf': 'y'}>
> CONFIG_ARM_GIC_MAX_NR policy<{'arm64': '1', 'armhf': '1'}>
> CONFIG_ARM_GIC_PM policy<{'arm64': 'y'}>
> --
> 2.43.2
>
debian.master is not the place to do it. This needs to be done in 'debian.bluefield'
The change should be:
diff --git a/debian.bluefield/config/annotations b/debian.bluefield/config/annotations
index 9573eefe3041..d8bf7fc871e0 100644
--- a/debian.bluefield/config/annotations
+++ b/debian.bluefield/config/annotations
@@ -134,6 +134,8 @@ CONFIG_ARM64_PA_BITS_52 policy<{'arm64-bluefield-64k': '
CONFIG_ARM64_VA_BITS_39 policy<{'arm64': 'n', 'arm64-bluefield-64k': '-'}>
CONFIG_ARM64_VA_BITS_42 policy<{'arm64-bluefield-64k': 'n'}>
CONFIG_ARM64_VA_BITS_52 policy<{'arm64-bluefield-64k': 'n'}>
+CONFIG_ARM_FFA_SMCCC policy<{'arm64': '-'}>
+CONFIG_ARM_FFA_TRANSPORT policy<{'arm64': 'n'}>
CONFIG_ARM_SMMU_QCOM_DEBUG policy<{'arm64': 'y', 'arm64-bluefield-64k': 'n'}>
CONFIG_ATL1 policy<{'arm64': '-'}>
CONFIG_ATL1C policy<{'arm64': '-'}>
Nacked-by: Kuba Pawlak <kuba.pawlak at canonical.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x216A9D7E3B63DCB4.asc
Type: application/pgp-keys
Size: 3139 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250818/abe9fd10/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250818/abe9fd10/attachment.sig>
More information about the kernel-team
mailing list