summaryrefslogtreecommitdiff
path: root/src/udev/udev-event.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-09-01 09:24:15 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-09-02 08:30:51 +0900
commit2f48561e0db3cd63f65e9311b4d69282b4ac605d (patch)
tree8acd5469ee08ce32ff7fa24875405f6759457b57 /src/udev/udev-event.c
parentb881ce16b9ccae4c3089c82e2ea1781cd9773a4f (diff)
downloadsystemd-2f48561e0db3cd63f65e9311b4d69282b4ac605d.tar.gz
udev-node: split out permission handling from udev_node_add()
And then merge udev_node_add() and udev_node_update_old_links().
Diffstat (limited to 'src/udev/udev-event.c')
-rw-r--r--src/udev/udev-event.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
index 3dfdff7112..3f0e11d509 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
@@ -893,9 +893,6 @@ static int update_devnode(UdevEvent *event) {
if (r < 0)
return log_device_error_errno(dev, r, "Failed to get devnum: %m");
- /* remove/update possible left-over symlinks from old database entry */
- (void) udev_node_update_old_links(dev, event->dev_db_clone);
-
if (!uid_is_valid(event->uid)) {
r = device_get_devnode_uid(dev, &event->uid);
if (r < 0 && r != -ENOENT)
@@ -919,7 +916,11 @@ static int update_devnode(UdevEvent *event) {
bool apply_mac = device_for_action(dev, SD_DEVICE_ADD);
- return udev_node_add(dev, apply_mac, event->mode, event->uid, event->gid, event->seclabel_list);
+ r = udev_node_apply_permissions(dev, apply_mac, event->mode, event->uid, event->gid, event->seclabel_list);
+ if (r < 0)
+ return log_device_error_errno(dev, r, "Failed to apply devnode permissions: %m");
+
+ return udev_node_update(dev, event->dev_db_clone);
}
static int event_execute_rules_on_remove(