From: Tom Gundersen Date: Wed, 24 Jul 2013 12:55:19 +0000 (+0200) Subject: udev: log error if chmod/chown of static dev nodes fails X-Git-Tag: v207~247 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=490f0087627f441d5fece276ec86b64b5a9d6495;hp=80d39fbb3e3d2fb51988f9ade378663694947e28 udev: log error if chmod/chown of static dev nodes fails --- diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index 8ace7050d..fe4965feb 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);