chiark / gitweb /
udev: always set selinux label at "add" events
authorKay Sievers <kay@vrfy.org>
Thu, 21 Mar 2013 22:11:51 +0000 (23:11 +0100)
committerKay Sievers <kay@vrfy.org>
Thu, 21 Mar 2013 22:13:17 +0000 (23:13 +0100)
https://bugs.freedesktop.org/show_bug.cgi?id=62615

src/udev/udev-event.c

index efd9b6d71d84fdaff64887f5d8f975bd71ef5008..3db2cb7165a512d7de30cbafad7829e91b22d384 100644 (file)
@@ -838,6 +838,8 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
                 }
 
                 if (major(udev_device_get_devnum(dev)) > 0) {
+                        bool apply;
+
                         /* remove/update possible left-over symlinks from old database entry */
                         if (event->dev_db != NULL)
                                 udev_node_update_old_links(dev, event->dev_db);
@@ -861,8 +863,8 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
                                 }
                         }
 
-                        udev_node_add(dev, event->owner_set || event->group_set || event->mode_set,
-                                      event->mode, event->uid, event->gid);
+                        apply = streq(udev_device_get_action(dev), "add") || event->owner_set || event->group_set || event->mode_set;
+                        udev_node_add(dev, apply, event->mode, event->uid, event->gid);
                 }
 
                 /* preserve old, or get new initialization timestamp */