![]() ANBZ: #22214 The struct csv3_data_attestation_report is the communication structure between the CSV3 guest and Hygon PSP. The reserved1 field in the struct csv3_data_attestation_report has been changed to a flags field, which is used to store the attestation extension flags. When the flags field is 0, the firmware returns a legacy attestation report; otherwise, it returns an extended attestation report. The struct csv_guest_user_data_attestation is the user-space buffer for legacy attestation, and this buffer can provide challenge data (see the user_data and mnonce fields) to the firmware. The struct csv_guest_user_data_attestation_ext is the user-space buffer for extended attestation, and it can also provide challenge data (see the user_data and mnonce fields) to the firmware. Since user space always provides a buffer larger than the struct csv_guest_user_data_attestation, the csv-guest module cannot determine whether the user-space request is for extended attestation. To address this, we added a magic field to the struct csv_guest_user_data_attestation_ext. If the magic field is populated with the string "ATTESTATION_EXT", the csv-guest module considers this is an extended attestation request, and the flags field in the struct csv_guest_user_data_attestation_ext will be copied to the struct csv3_data_attestation_report so that the firmware will serve the attestation request as intended. The definition of the struct csv_guest_user_data_attestation has been moved to the csv-guest local header file. Signed-off-by: hanliyang <hanliyang@hygon.cn> Reviewed-by: Guixin Liu <kanie@Linux.aliabab.com> Reviewed-by: Guixin Liu <kanie@linux.alibaba.com> Link: https://gitee.com/anolis/cloud-kernel/pulls/5464 |
||
---|---|---|
.. | ||
asm-generic | ||
drm | ||
linux | ||
misc | ||
mtd | ||
rdma | ||
scsi | ||
sound | ||
video | ||
xen | ||
Kbuild |