This series tightens Xen's FF-A mediator after the v1.2 enablement work,
focusing on correctness, validation, and diagnostics while keeping
existing v1.0/v1.1 guests working.

Hardening and validation (Patches 1-3):
  1) centralize endpoint lookup validation for messaging paths
  2) reject NS MEM_SHARE attributes and name normal memory encoding
  3) tighten MEM_SHARE page parsing with overflow/alignment checks

FF-A 1.2 support (Patch 4):
  4) accept 1.2 EMADs in MEM_SHARE and forward IMPDEF while allowing 1.1 layouts

Correctness fixes (Patches 5-9):
  5) avoid spurious SPMC RX releases on PARTINFO failures
  6) align RX/TX map descriptor layout and return NO_MEMORY on map failures
  7) deny RXTX_UNMAP while a VM owns the RX buffer and close the race
  8) validate FFA_FEATURES properties and gate ABIs, with RX_ACQUIRE workaround
  9) gate SEND2 SP support on RX_ACQUIRE

Code quality and diagnostics (Patches 10-12):
  10) reduce log noise and ratelimit expected failures
  11) add MEM_SHARE page diagnostics for malformed ranges and mapping issues
  12) add message parameter diagnostics for SEND2 and direct requests

Backward compatibility: v1.0/v1.1 guests continue to use their ABI unchanged;
v1.2 guests use EMADs and negotiated ABI features.

The implementation passes the FF-A Architecture Compliance Suite.

This serie was validated through gitlab-ci here:
https://gitlab.com/xen-project/people/bmarquis/xen-ffa-research/-/tree/ffa-v12-improve/v1
Build pipeline for the serie:
https://gitlab.com/xen-project/people/bmarquis/xen-ffa-research/-/pipelines/2303128986

Bertrand Marquis (12):
  xen/arm: ffa: Add endpoint lookup helper
  xen/arm: ffa: Fix MEM_SHARE NS attribute handling
  xen/arm: ffa: Harden shm page parsing
  xen/arm: ffa: Add FF-A 1.2 endpoint memory access descriptors
  xen/arm: ffa: Fix PARTINFO RX release errors
  xen/arm: ffa: Fix RX/TX map layout and errors
  xen/arm: ffa: Fix RXTX_UNMAP ownership race
  xen/arm: ffa: Fix FFA_FEATURES validation
  xen/arm: ffa: Fix SEND2 SP support gating
  xen/arm: ffa: Reduce logging noise
  xen/arm: ffa: Add MEM_SHARE page diagnostics
  xen/arm: ffa: Add message parameter diagnostics

 xen/arch/arm/tee/ffa.c          | 124 +++++++++++++++--
 xen/arch/arm/tee/ffa_msg.c      |  76 +++++++---
 xen/arch/arm/tee/ffa_notif.c    |  11 +-
 xen/arch/arm/tee/ffa_partinfo.c |  29 ++--
 xen/arch/arm/tee/ffa_private.h  |  33 ++++-
 xen/arch/arm/tee/ffa_rxtx.c     |  84 +++++++++--
 xen/arch/arm/tee/ffa_shm.c      | 240 ++++++++++++++++++++++++--------
 7 files changed, 479 insertions(+), 118 deletions(-)

-- 
2.50.1 (Apple Git-155)


Reply via email to