diff --git a/TODO b/TODO index 5f351b24a6b..4ea0471a1f9 100644 --- a/TODO +++ b/TODO @@ -421,7 +421,7 @@ Features: * ConditionSecurity= should learn about IMA and SMACK * udev: - - remove all (misguided from day 1) userspace firmware_class handling + - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) - move to LGPL - unify utf8 validator code with shared/ - kill scsi_id diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c index 9cb42946332..b80940b6efd 100644 --- a/src/udev/udev-builtin-firmware.c +++ b/src/udev/udev-builtin-firmware.c @@ -78,8 +78,6 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo { struct udev *udev = udev_device_get_udev(dev); static const char *searchpath[] = { FIRMWARE_PATH }; - char fwencpath[UTIL_PATH_SIZE]; - char misspath[UTIL_PATH_SIZE]; char loadpath[UTIL_PATH_SIZE]; char datapath[UTIL_PATH_SIZE]; char fwpath[UTIL_PATH_SIZE]; @@ -111,23 +109,10 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo break; } - util_path_encode(firmware, fwencpath, sizeof(fwencpath)); - strscpyl(misspath, sizeof(misspath), "/run/udev/firmware-missing/", fwencpath, NULL); strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); if (fwfile == NULL) { - int err; - - /* This link indicates the missing firmware file and the associated device */ log_debug("did not find firmware file '%s'\n", firmware); - do { - err = mkdir_parents(misspath, 0755); - if (err != 0 && err != -ENOENT) - break; - err = symlink(udev_device_get_devpath(dev), misspath); - if (err != 0) - err = -errno; - } while (err == -ENOENT); rc = EXIT_FAILURE; /* * Do not cancel the request in the initrd, the real root might have @@ -146,9 +131,6 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo goto exit; } - if (unlink(misspath) == 0) - util_delete_path(udev, misspath); - if (!set_loading(udev, loadpath, "1")) goto exit; diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c index 0f4565eda8a..c47821401ad 100644 --- a/src/udev/udevadm-info.c +++ b/src/udev/udevadm-info.c @@ -256,12 +256,6 @@ static void cleanup_db(struct udev *udev) cleanup_dir(dir, 0, 1); closedir(dir); } - - dir = opendir("/run/udev/firmware-missing"); - if (dir != NULL) { - cleanup_dir(dir, 0, 1); - closedir(dir); - } } static struct udev_device *find_device(struct udev *udev, const char *id, const char *prefix)