1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-02-16 09:57:26 +03:00

Merge pull request #11100 from abogdanenko/udev-test-check-perm

udev-test: check if permitted to create block device nodes
This commit is contained in:
Lennart Poettering 2018-12-11 17:37:57 +01:00 committed by GitHub
commit b2c9e8e187
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 2 deletions

View File

@ -113,9 +113,11 @@ static int run(int argc, char *argv[]) {
(void) mkdir_parents_label(devname, 0755);
(void) sd_device_get_devnum(dev, &devnum);
assert_se(mknod(devname, mode, devnum) == 0);
if (mknod(devname, mode, devnum) < 0)
return log_error_errno(errno, "mknod() failed for '%s': %m", devname);
} else {
assert_se(unlink(devname) == 0);
if (unlink(devname) < 0)
return log_error_errno(errno, "unlink('%s') failed: %m", devname);
(void) rmdir_parents(devname, "/");
}
}

View File

@ -1554,6 +1554,14 @@ sub udev_setup {
return 0;
}
# check if we are permitted to create block device nodes
my $block_device_filename = $udev_dev . "/sda";
if (system("mknod", $block_device_filename, "b", "8", "0")) {
warn "unable to create $block_device_filename";
return 0;
}
unlink $block_device_filename;
system("cp", "-r", "test/sys/", $udev_sys) && die "unable to copy test/sys";
system("rm", "-rf", "$udev_run");