Currently an AMD system using vfio-pci/kvm will issue a dev_info() for every MSI/X vector registered because kvm_x86_ops does not support a bypass mechanism except on Intel and the add_producer callback returns an errno for that. This is meaningless, unintended, and confuses users. We could simply have KVM's add_producer callback return 0 if there's no bypass mechanism, but then why are we registering as an IRQ bypass consumer in the first place? We also don't necessarily want to simply remove the dev_info/pr_info on registration failure because then we have no warning if something does actually go wrong. So instead, let's conditionalize IRQ bypass registration on whether we have any support for it, and to keep the de-registration path clean and fill an unintended gap, let's ignore deregistration of NULL tokens and prevent registration of the same. NULL isn't a good, unique cookie anyway. Tested on AMD and non-PI Intel. Thanks, Alex --- Alex Williamson (2): irqbypass: Disallow NULL token kvm: Conditionally register IRQ bypass consumer arch/x86/kvm/x86.c | 19 ++++++++----------- include/linux/irqbypass.h | 4 ++-- include/linux/kvm_host.h | 1 + virt/kvm/eventfd.c | 18 ++++++++++-------- virt/lib/irqbypass.c | 12 +++++++++++- 5 files changed, 32 insertions(+), 22 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html