Re: [PATCH v14 13/22] KVM: selftests: Support guest_memfd in-place conversion

Xiaoyao Li <[email protected]>
Newsgroups dev.linux.lists.linux-coco,org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <[email protected]>
On 7/23/2026 7:13 AM, Lisa Wang wrote:
> diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c
> index 4a48c4b42095..e547ea341ff7 100644
> --- a/tools/testing/selftests/kvm/lib/kvm_util.c
> +++ b/tools/testing/selftests/kvm/lib/kvm_util.c
> @@ -484,8 +484,10 @@ struct kvm_vm *__vm_create(struct vm_shape shape, u32 nr_runnable_vcpus,
>   	u64 nr_pages = vm_nr_pages_required(shape.mode, nr_runnable_vcpus,
>   						 nr_extra_pages);
>   	struct userspace_mem_region *slot0;
> +	u64 gmem_flags = 0;
>   	struct kvm_vm *vm;
> -	int i, flags;
> +	int flags = 0;
> +	int i;
>   
>   	kvm_set_files_rlimit(nr_runnable_vcpus);
>   
> @@ -495,14 +497,20 @@ struct kvm_vm *__vm_create(struct vm_shape shape, u32 nr_runnable_vcpus,
>   	vm = ____vm_create(shape);
>   
>   	/*
> -	 * Force GUEST_MEMFD for the primary memory region if necessary, e.g.
> -	 * for CoCo VMs that require GUEST_MEMFD backed private memory.
> +	 * Force GUEST_MEMFD for the primary memory region if necessary, and
> +	 * initialize it as shared if in-place conversion is support, so the
> +	 * selftest framework can populate it exactly like other memory
> +	 * providers.
>   	 */
> -	flags = 0;
> -	if (is_guest_memfd_required(shape))
> +	if (is_guest_memfd_required(shape)) {
>   		flags |= KVM_MEM_GUEST_MEMFD;
> +		if (kvm_has_gmem_attributes)
> +			gmem_flags |= GUEST_MEMFD_FLAG_INIT_SHARED |
> +				      GUEST_MEMFD_FLAG_MMAP;
> +	}
>   
> -	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, 0, 0, nr_pages, flags);
> +	vm_mem_add(vm, VM_MEM_SRC_ANONYMOUS, 0, 0, nr_pages, flags,
> +		   -1, 0, gmem_flags);
>   	for (i = 0; i < NR_MEM_REGIONS; i++)
>   		vm->memslots[i] = 0;

IMO, this diff belongs to the gmem in-place series.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.