chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reset process priority before executing RUN+=
[elogind.git]
/
udev
/
udev-node.c
diff --git
a/udev/udev-node.c
b/udev/udev-node.c
index 2a2c2cf0b46409de1af626d69032e5c7451b8d96..d55700d70fe7df39aff8bf46da5b08b2b2e9ca93 100644
(file)
--- a/
udev/udev-node.c
+++ b/
udev/udev-node.c
@@
-33,14
+33,13
@@
#define TMP_FILE_EXT ".udev-tmp"
#define TMP_FILE_EXT ".udev-tmp"
-int udev_node_mknod(struct udev_device *dev, const char *file,
dev_t devnum,
mode_t mode, uid_t uid, gid_t gid)
+int udev_node_mknod(struct udev_device *dev, const char *file, mode_t mode, uid_t uid, gid_t gid)
{
struct udev *udev = udev_device_get_udev(dev);
{
struct udev *udev = udev_device_get_udev(dev);
+ dev_t devnum = udev_device_get_devnum(dev);
struct stat stats;
int err = 0;
struct stat stats;
int err = 0;
- if (major(devnum) == 0)
- devnum = udev_device_get_devnum(dev);
if (strcmp(udev_device_get_subsystem(dev), "block") == 0)
mode |= S_IFBLK;
if (strcmp(udev_device_get_subsystem(dev), "block") == 0)
mode |= S_IFBLK;
@@
-164,7
+163,7
@@
static int node_symlink(struct udev *udev, const char *node, const char *slink)
dbg(udev, "found existing symlink '%s'\n", slink);
len = readlink(slink, buf, sizeof(buf));
dbg(udev, "found existing symlink '%s'\n", slink);
len = readlink(slink, buf, sizeof(buf));
- if (len > 0) {
+ if (len > 0
&& len < (int)sizeof(buf)
) {
buf[len] = '\0';
if (strcmp(target, buf) == 0) {
info(udev, "preserve already existing symlink '%s' to '%s'\n",
buf[len] = '\0';
if (strcmp(target, buf) == 0) {
info(udev, "preserve already existing symlink '%s' to '%s'\n",
@@
-373,7
+372,7
@@
int udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid)
major(udev_device_get_devnum(dev)), minor(udev_device_get_devnum(dev)),
mode, uid, gid);
major(udev_device_get_devnum(dev)), minor(udev_device_get_devnum(dev)),
mode, uid, gid);
- if (udev_node_mknod(dev, NULL, m
akedev(0,0), m
ode, uid, gid) != 0) {
+ if (udev_node_mknod(dev, NULL, mode, uid, gid) != 0) {
err = -1;
goto exit;
}
err = -1;
goto exit;
}
@@
-428,7
+427,7
@@
int udev_node_remove(struct udev_device *dev)
}
util_strscpyl(filename, sizeof(filename), LIBEXECDIR "/devices", &devnode[strlen(udev_get_dev_path(udev))], NULL);
}
util_strscpyl(filename, sizeof(filename), LIBEXECDIR "/devices", &devnode[strlen(udev_get_dev_path(udev))], NULL);
- if (stat(filename, &stats) == 0
||
stats.st_rdev == udev_device_get_devnum(dev)) {
+ if (stat(filename, &stats) == 0
&&
stats.st_rdev == udev_device_get_devnum(dev)) {
info(udev, "static device entry found '%s', skip removal\n", devnode);
goto out;
}
info(udev, "static device entry found '%s', skip removal\n", devnode);
goto out;
}