diff options
author | Tom Gundersen <teg@jklm.no> | 2013-07-24 14:55:19 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2013-07-24 15:13:00 +0200 |
commit | 490f0087627f441d5fece276ec86b64b5a9d6495 (patch) | |
tree | a08c250bc081d70308d786b339092be1bd28b37b | |
parent | 80d39fbb3e3d2fb51988f9ade378663694947e28 (diff) |
udev: log error if chmod/chown of static dev nodes fails
-rw-r--r-- | src/udev/udev-rules.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index 8ace7050db..fe4965feb9 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -2593,13 +2593,21 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules) mode = 0600; } if (mode != (stats.st_mode & 01777)) { - chmod(device_node, mode); - log_debug("chmod '%s' %#o\n", device_node, mode); + r = chmod(device_node, mode); + if (r < 0) { + log_error("failed to chmod '%s' %#o\n", device_node, mode); + return -errno; + } else + log_debug("chmod '%s' %#o\n", device_node, mode); } if ((uid != 0 && uid != stats.st_uid) || (gid != 0 && gid != stats.st_gid)) { - chown(device_node, uid, gid); - log_debug("chown '%s' %u %u\n", device_node, uid, gid); + r = chown(device_node, uid, gid); + if (r < 0) { + log_error("failed to chown '%s' %u %u \n", device_node, uid, gid); + return -errno; + } else + log_debug("chown '%s' %u %u\n", device_node, uid, gid); } utimensat(AT_FDCWD, device_node, NULL, 0); |