mirror of
https://github.com/systemd/systemd.git
synced 2025-03-09 12:58:26 +03:00
udev: upgrade mode in udev_node_apply_permissions_impl()
This commit is contained in:
parent
a782f2a3fc
commit
e5ddfe3ec5
@ -966,9 +966,6 @@ static int update_devnode(UdevEvent *event) {
|
||||
if (r < 0 && r != -ENOENT)
|
||||
return log_device_error_errno(dev, r, "Failed to get devnode mode: %m");
|
||||
}
|
||||
if (event->mode == MODE_INVALID && gid_is_valid(event->gid) && event->gid > 0)
|
||||
/* If group is set, but mode is not set, "upgrade" mode for the group. */
|
||||
event->mode = 0660;
|
||||
|
||||
bool apply_mac = device_for_action(dev, SD_DEVICE_ADD);
|
||||
|
||||
|
@ -610,6 +610,10 @@ static int udev_node_apply_permissions_impl(
|
||||
if (fstat(node_fd, &stats) < 0)
|
||||
return log_device_debug_errno(dev, errno, "cannot stat() node %s: %m", devnode);
|
||||
|
||||
/* If group is set, but mode is not set, "upgrade" mode for the group. */
|
||||
if (mode == MODE_INVALID && gid_is_valid(gid) && gid > 0)
|
||||
mode = 0660;
|
||||
|
||||
apply_mode = mode != MODE_INVALID && (stats.st_mode & 0777) != (mode & 0777);
|
||||
apply_uid = uid_is_valid(uid) && stats.st_uid != uid;
|
||||
apply_gid = gid_is_valid(gid) && stats.st_gid != gid;
|
||||
|
Loading…
x
Reference in New Issue
Block a user