]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
firmware: arm_ffa: Fix Endpoint Memory Access Descriptor offset calculation
authorSebastian Ene <sebastianene@google.com>
Thu, 2 Jul 2026 10:38:39 +0000 (10:38 +0000)
committerMarc Zyngier <maz@kernel.org>
Tue, 7 Jul 2026 14:04:07 +0000 (15:04 +0100)
commitb4d961351aa84fdf0148783fb1f3a1391b8a0adb
tree3d382b6669eeedbb25e926cb4491e6774c638079
parent3383ffb7ef937317361713ffcc21921a7848511a
firmware: arm_ffa: Fix Endpoint Memory Access Descriptor offset calculation

Use the descriptor's `ep_mem_offset` to calculate the start of the endpoint
memory access array and to comply with the FF-A spec instead of defaulting
to `sizeof(struct ffa_mem_region)`.
This requires moving `ffa_mem_region_additional_setup()` earlier in the setup
flow.
Also, add sanity checks to ensure the calculated descriptor offsets do not
exceed `max_fragsize`.

Fixes: 113580530ee7 ("firmware: arm_ffa: Update memory descriptor to support v1.1 format")
Reviewed-by: Sudeep Holla <sudeep.holla@kernel.org>
Signed-off-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Sebastian Ene <sebastianene@google.com>
Link: https://patch.msgid.link/20260702103848.1647249-3-sebastianene@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
drivers/firmware/arm_ffa/driver.c
include/linux/arm_ffa.h