On Saturday, November 18, 2023 4:15 AM, Isaku Yamahata wrote: > Please refer to > static int tdx_sept_set_private_spte(struct kvm *kvm, gfn_t gfn, > enum pg_level level, kvm_pfn_t pfn) > > The guest memfd provides the page of gfn which is different from kvm_tdx- > >source_pa. The function calls tdh_mem_page_add(). > > tdh_mem_page_add(kvm_tdx->tdr_pa, gpa, hpa, source_pa, &out); > gpa: corresponds to the page from guest memfd > source_pa: corresopnds to the page tdx_init_mem_region() pinned down. > > tdh_mem_page_add() copies the page contents from source_pa to gpa and > gives gpa to the TD guest. not source_pa. > -- Yes, that's right, thanks.