Thread (14 messages) flat view 14 messages, 2 authors, 2020-07-23

Re: [v4 2/5] KVM: PPC: Book3S HV: track the state GFNs associated with secure VMs

From: Ram Pai <hidden>
Date: 2020-07-23 11:17:00

On Thu, Jul 23, 2020 at 10:18:30AM +0530, Bharata B Rao wrote:
On Fri, Jul 17, 2020 at 01:00:24AM -0700, Ram Pai wrote:
quoted
 	pvt->gpa = gpa;
..snip..
quoted
 	pvt->kvm = kvm;
@@ -524,6 +663,7 @@ static unsigned long kvmppc_share_page(struct kvm *kvm, unsigned long gpa,
 		uvmem_page = pfn_to_page(uvmem_pfn);
 		pvt = uvmem_page->zone_device_data;
 		pvt->skip_page_out = true;
+		pvt->remove_gfn = false;
 	}
 
 retry:
@@ -537,12 +677,16 @@ static unsigned long kvmppc_share_page(struct kvm *kvm, unsigned long gpa,
 		uvmem_page = pfn_to_page(uvmem_pfn);
 		pvt = uvmem_page->zone_device_data;
 		pvt->skip_page_out = true;
+		pvt->remove_gfn = false;
This is the case of making an already secure page as shared page.
A comment here as to why remove_gfn is set to false here will help.

Also isn't it by default false? Is there a situation where it starts
out by default false, becomes true later and you are required to
explicitly mark it false here?
It is by default false. And will be true when the GFN is
released/invalidated through kvmppc_uvmem_drop_pages().

It is marked false explicitly here, just to be safe, and protect
against any implicit changes.
Otherwise, Reviewed-by: Bharata B Rao [off-list ref]
Thanks for the review.

RP
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help