Re: [PATCH 12/12] KVM: guest_memfd: let kvm_gmem_populate() operate only on private gfns

From: Michael Roth
Date: Wed Jul 17 2024 - 18:51:06 EST


On Thu, Jul 11, 2024 at 06:27:55PM -0400, Paolo Bonzini wrote:
> This check is currently performed by sev_gmem_post_populate(), but it
> applies to all callers of kvm_gmem_populate(): the point of the function
> is that the memory is being encrypted and some work has to be done
> on all the gfns in order to encrypt them.
>
> Therefore, check the KVM_MEMORY_ATTRIBUTE_PRIVATE attribute prior
> to invoking the callback, and stop the operation if a shared page
> is encountered. Because CONFIG_KVM_PRIVATE_MEM in principle does
> not require attributes, this makes kvm_gmem_populate() depend on
> CONFIG_KVM_GENERIC_PRIVATE_MEM (which does require them).
>
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Reviewed-by: Michael Roth <michael.roth@xxxxxxx>