On 10/23/2024 01:32, Shyam Sundar S K wrote:
The PMF driver will allocate shared buffer memory using the
tee_shm_alloc_kernel_buf(). This allocated memory is located in the
secure world and is used for communication with the PMF-TA.
The latest PMF-TA version introduces new structures with OEM debug
information and additional policy input conditions for evaluating the
policy binary. Consequently, the shared memory size must be increased to
ensure compatibility between the PMF driver and the updated PMF-TA.
Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@xxxxxxx>
Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@xxxxxxx>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
How does this present to a user? From what you describe it seems to me
like this means a new TA will fail on older kernel in some way.
Some ideas:
1) Should there be header version check on the TA and dynamically
allocate the structure size based on the version of the F/W?
2) Or is there a command to the TA that can query the expected output size?
3) Or should the new TA filename be versioned, and the driver has a
fallback policy?
Whatever the outcome is; I think it's best that if possible this change
goes back to stable to try to minimize regressions to users as distros
update linux-firmware. For example Fedora updates this monthly, but
also tracks stable kernels.
---
drivers/platform/x86/amd/pmf/pmf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/platform/x86/amd/pmf/pmf.h b/drivers/platform/x86/amd/pmf/pmf.h
index a79808fda1d8..18f12aad46a9 100644
--- a/drivers/platform/x86/amd/pmf/pmf.h
+++ b/drivers/platform/x86/amd/pmf/pmf.h
@@ -106,7 +106,7 @@ struct cookie_header {
#define PMF_TA_IF_VERSION_MAJOR 1
#define TA_PMF_ACTION_MAX 32
#define TA_PMF_UNDO_MAX 8
-#define TA_OUTPUT_RESERVED_MEM 906
+#define TA_OUTPUT_RESERVED_MEM 922
#define MAX_OPERATION_PARAMS 4
#define PMF_IF_V1 1