diff options
| author | Brijesh Singh <brijesh.singh@amd.com> | 2022-04-26 18:53:13 +0000 |
|---|---|---|
| committer | Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> | 2022-07-13 17:27:29 -0500 |
| commit | cffc69f961f5a877e0b10296833afc8260ee73a1 (patch) | |
| tree | 6794fbf215481fb4028dff438c51e4c1580fd9c7 /scripts/objdiff | |
| parent | 9e49becd3c0c8b955fdaad0c318c2189a8c28101 (diff) | |
| download | cachepc-linux-cffc69f961f5a877e0b10296833afc8260ee73a1.tar.gz cachepc-linux-cffc69f961f5a877e0b10296833afc8260ee73a1.zip | |
KVM: SVM: Remove the long-lived GHCB host map
On VMGEXIT, sev_handle_vmgexit() creates a host mapping for the GHCB GPA,
and unmaps it just before VM-entry. This long-lived GHCB map is used by
the VMGEXIT handler through accessors such as ghcb_{set_get}_xxx().
A long-lived GHCB map can cause issue when SEV-SNP is enabled. When
SEV-SNP is enabled the mapped GPA needs to be protected against a page
state change.
To eliminate the long-lived GHCB mapping, update the GHCB sync operations
to explicitly map the GHCB before access and unmap it after access is
complete. This requires that the setting of the GHCBs sw_exit_info_{1,2}
fields be done during sev_es_sync_to_ghcb(), so create two new fields in
the vcpu_svm struct to hold these values when required to be set outside
of the GHCB mapping.
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
