]> err.no Git - systemd/commitdiff
prevent wrong symlink creation if database disagress with current rules
authorKay Sievers <kay.sievers@vrfy.org>
Thu, 20 Sep 2007 17:38:58 +0000 (19:38 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Thu, 20 Sep 2007 17:38:58 +0000 (19:38 +0200)
udev_node.c

index 556a442a333709a08593a4f4c2ded038942a8e5c..c620e4aa0b13f95b676cb95401e9216235aff291 100644 (file)
@@ -218,14 +218,16 @@ static int update_link(struct udevice *udev, const char *name)
                if (strcmp(udev->dev->devpath, device->name) == 0) {
                        info("compare (our own) priority of '%s' %i >= %i",
                             udev->dev->devpath, udev->link_priority, priority);
-                       if (target[0] == '\0' || udev->link_priority >= priority) {
+                       if (strcmp(udev->name, name) == 0) {
+                               info("'%s' is our device node, database inconsistent, skip link update", udev->name);
+                       } else if (target[0] == '\0' || udev->link_priority >= priority) {
                                priority = udev->link_priority;
                                strlcpy(target, udev->name, sizeof(target));
                        }
                        continue;
                }
 
-               /* or something else, then read priority from database */
+               /* another device, read priority from database */
                udev_db = udev_device_init(NULL);
                if (udev_db == NULL)
                        continue;