@samitouri / QOSamiQemu / commits / 45a0241365

backends/iommufd: report error when /dev/iommu is not available

In case current kernel does not support /dev/iommu, qemu will probably fail first because /sys/bus/pci/devices/*/vfio-dev/ is not present, since QEMU opens it before /dev/iommu. Instead, report an error directly when completing an iommufd object, to inform user that kernel does not support it, with a hint about missing CONFIG_IOMMUFD. We can't do this from initialize as there is no way to return an error, and we don't want to abort at this step. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Message-ID: <20260319205942.367705-2-pierrick.bouvier@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Pierrick Bouvier committed Mar 19, 2026 at 13:59 UTC 45a0241365cedaa4b4b17213fe6a2ef15526505d
1 file changed +3
backends/iommufd.c
+3
@@ -82,6 +82,9 @@ static void iommufd_backend_complete(UserCreatable *uc, Error **errp)
82 } else {
83 cpr_save_fd(name, 0, be->fd);
84 }
85 + } else if (!g_file_test("/dev/iommu", G_FILE_TEST_EXISTS)) {
86 + error_setg(errp, "/dev/iommu does not exist"
87 + " (is your kernel config missing CONFIG_IOMMUFD?)");
88 }
89 }
90