]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
firmware: arm_ffa: Remove vm_id argument in ffa_rxtx_unmap()
authorYeoreum Yun <yeoreum.yun@arm.com>
Wed, 4 Mar 2026 12:09:53 +0000 (12:09 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Mar 2026 10:08:51 +0000 (11:08 +0100)
commit71cdba40b4f8ed9705bd364e7d00fea8614ccc63
treeeb1ddd7885044c179c2f7bdcf2ce5a8816a30f9b
parentb82eac7a1a38f8bf9b26118fcac82ea8951ac283
firmware: arm_ffa: Remove vm_id argument in ffa_rxtx_unmap()

[ Upstream commit a4e8473b775160f3ce978f621cf8dea2c7250433 ]

According to the FF-A specification (DEN0077, v1.1, ยง13.7), when
FFA_RXTX_UNMAP is invoked from any instance other than non-secure
physical, the w1 register must be zero (MBZ). If a non-zero value is
supplied in this context, the SPMC must return FFA_INVALID_PARAMETER.

The Arm FF-A driver operates exclusively as a guest or non-secure
physical instance where the partition ID is always zero and is not
invoked from a hypervisor context where w1 carries a VM ID. In this
execution model, the partition ID observed by the driver is always zero,
and passing a VM ID is unnecessary and potentially invalid.

Remove the vm_id parameter from ffa_rxtx_unmap() and ensure that the
SMC call is issued with w1 implicitly zeroed, as required by the
specification. This prevents invalid parameter errors and aligns the
implementation with the defined FF-A ABI behavior.

Fixes: 3bbfe9871005 ("firmware: arm_ffa: Add initial Arm FFA driver support")
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
Message-Id: <20260304120953.847671-1-yeoreum.yun@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/firmware/arm_ffa/driver.c