logind: warn about EVIOCREVOKE errors other than EINVAL too

EINVAL means the kernel doesn't support it, ENODEV means it's
already revoked or the device is no longer there which has the same
effect anyway. All others - let's print an error to the logs.
This commit is contained in:
Peter Hutterer
2024-08-21 16:33:22 +10:00
parent 1e922cc7ff
commit 4fc6bd9e7d
+3 -1
View File
@@ -97,8 +97,10 @@ static void sd_eviocrevoke(int fd) {
if (!warned && ioctl(fd, EVIOCREVOKE, NULL) < 0) {
if (errno == EINVAL) {
log_warning_errno(errno, "Kernel does not support evdev-revocation: %m");
log_warning_errno(errno, "Kernel does not support evdev-revocation, continuing without revoking device access: %m");
warned = true;
} else if (errno != ENODEV) {
log_warning_errno(errno, "Failed to revoke evdev device, continuing without revoking device access: %m");
}
}
}