]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
vmspawn: ENODEV is not the only error the kernel returns if a device is not there
authorLennart Poettering <lennart@poettering.net>
Fri, 19 Jan 2024 17:47:41 +0000 (18:47 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 22 Jan 2024 13:03:09 +0000 (14:03 +0100)
Let's use ERRNO_IS_DEVICE_ABSENT() to cover all cases.

(And while we are at it also use ERRNO_IS_PRIVILEGE() where appropriate)

src/vmspawn/vmspawn-util.c

index 16ece31809782aca18586c224f3dcd790daa5769..c8e67597909fcf80b09fba2cdd450b82f2f2d77b 100644 (file)
@@ -40,7 +40,7 @@ int qemu_check_kvm_support(void) {
                 log_debug_errno(errno, "/dev/kvm not found. Not using KVM acceleration.");
                 return false;
         }
-        if (errno == EPERM) {
+        if (ERRNO_IS_PRIVILEGE(errno)) {
                 log_debug_errno(errno, "Permission denied to access /dev/kvm. Not using KVM acceleration.");
                 return false;
         }
@@ -62,11 +62,11 @@ int qemu_check_vsock_support(void) {
         fd = open("/dev/vhost-vsock", O_RDWR|O_CLOEXEC);
         if (fd >= 0)
                 return true;
-        if (errno == ENODEV) {
+        if (ERRNO_IS_DEVICE_ABSENT(errno)) {
                 log_debug_errno(errno, "/dev/vhost-vsock device doesn't exist. Not adding a vsock device to the virtual machine.");
                 return false;
         }
-        if (errno == EPERM) {
+        if (ERRNO_IS_PRIVILEGE(errno)) {
                 log_debug_errno(errno, "Permission denied to access /dev/vhost-vsock. Not adding a vsock device to the virtual machine.");
                 return false;
         }