/* preserve node with already correct numbers, to not change the inode number */
if (((stats.st_mode & S_IFMT) == S_IFBLK || (stats.st_mode & S_IFMT) == S_IFCHR) &&
(stats.st_rdev == devt)) {
- dbg("preserve file '%s', cause it has correct dev_t", file);
+ info("preserve file '%s', cause it has correct dev_t", file);
selinux_setfilecon(file, udev->kernel_name, stats.st_mode);
goto perms;
}
retval = mknod(file, mode, devt);
selinux_resetfscreatecon();
if (retval != 0) {
- dbg("mknod(%s, %#o, %u, %u) failed with error '%s'",
+ err("mknod(%s, %#o, %u, %u) failed with error '%s'",
file, mode, major(devt), minor(devt), strerror(errno));
goto exit;
}
snprintf(partitionname, sizeof(partitionname), "%s%d", filename, i);
partitionname[sizeof(partitionname)-1] = '\0';
- part_devt = makedev(major(udev->devt), minor(udev->devt)+1);
+ part_devt = makedev(major(udev->devt), minor(udev->devt) + i);
udev_make_node(udev, partitionname, part_devt, udev->mode, uid, gid);
}
}
dbg("symlink(%s, %s)", linktarget, filename);
if (!udev->test_run) {
unlink(filename);
- selinux_setfscreatecon(filename, udev->kernel_name, S_IFLNK);
+ selinux_setfscreatecon(filename, NULL, S_IFLNK);
retval = symlink(linktarget, filename);
selinux_resetfscreatecon();
if (retval != 0)
struct ifreq ifr;
int retval;
- dbg("changing net interface name from '%s' to '%s'", udev->kernel_name, udev->name);
+ info("changing net interface name from '%s' to '%s'", udev->kernel_name, udev->name);
if (udev->test_run)
return 0;
}
}
- if (udev_rules_get_name(udev, class_dev) != 0)
+ udev_rules_get_name(udev, class_dev);
+ if (udev->ignore_device) {
+ dbg("device event will be ignored");
return 0;
+ }
dbg("adding name='%s'", udev->name);