On 9/10/24 13:15, Adrian Hunter wrote:
kvm->slots_lock is better. In tdx_vcpu_init_mem_region() you can take it before the is_td_finalized() so that there is a lock that is clearly protecting kvm_tdx->finalized between the two. (I also suggest switching to guard() in tdx_vcpu_init_mem_region()).Doesn't KVM_PRE_FAULT_MEMORY also need to be protected?
KVM_PRE_FAULT_MEMORY is forbidden until kvm->arch.pre_fault_allowed is set. Paolo