On 12/9/21 01:02, Sean Christopherson wrote:
RDX, a.k.a. ir_data is NULL. This check in svm_ir_list_add() if (pi->ir_data && (pi->prev_ga_tag != 0)) { implies pi->ir_data can be NULL, but neither avic_update_iommu_vcpu_affinity() nor amd_iommu_update_ga() check ir->data for NULL. amd_ir_set_vcpu_affinity() returns "success" without clearing pi.is_guest_mode /* Note: * This device has never been set up for guest mode. * we should not modify the IRTE */ if (!dev_data || !dev_data->use_vapic) return 0; so it's plausible svm_ir_list_add() could add to the list with a NULL pi->ir_data. But none of the relevant code has seen any meaningful changes since 5.15, so odds are good I broke something :-/
Ok, I'll take this. Paolo