vmx_vcpu_load(vcpu, cpu);
 }
 
+static void vt_update_cpu_dirty_logging(struct kvm_vcpu *vcpu)
+{
+       /*
+        * Basic TDX does not support feature PML. KVM does not enable PML in
+        * TD's VMCS, nor does it allocate or flush PML buffer for TDX.
+        */
+       if (WARN_ON_ONCE(is_td_vcpu(vcpu)))
+               return;
+
+       vmx_update_cpu_dirty_logging(vcpu);
+}
+
 static void vt_flush_tlb_all(struct kvm_vcpu *vcpu)
 {
        if (is_td_vcpu(vcpu)) {
        .check_intercept = vmx_check_intercept,
        .handle_exit_irqoff = vmx_handle_exit_irqoff,
 
-       .update_cpu_dirty_logging = vmx_update_cpu_dirty_logging,
+       .update_cpu_dirty_logging = vt_update_cpu_dirty_logging,
 
        .nested_ops = &vmx_nested_ops,