summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-06-10 10:18:36 +0200
committerGitHub <noreply@github.com>2020-06-10 10:18:36 +0200
commit2befe404d4dbd398f30d6a14aad1132081dbd1fb (patch)
treec5df858890da26284303928f18d393f8b7020078 /src
parent02939ee0013a2ed23294ddb848217007ae15f614 (diff)
parent6b2229c6c60d0486f5eb9ed3088f9c780d7c0233 (diff)
downloadsystemd-2befe404d4dbd398f30d6a14aad1132081dbd1fb.tar.gz
Merge pull request #16120 from poettering/udevd-fixlets
minor udev fixlets
Diffstat (limited to 'src')
-rw-r--r--src/udev/udevd.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index 6e0ce72553..d86c1484c3 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -1841,12 +1841,13 @@ int run_udevd(int argc, char *argv[]) {
return r;
if (arg_children_max == 0) {
- unsigned long cpu_limit, mem_limit;
- unsigned long cpu_count = 1;
- cpu_set_t cpu_set;
+ unsigned long cpu_limit, mem_limit, cpu_count = 1;
- if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0)
- cpu_count = CPU_COUNT(&cpu_set);
+ r = cpus_in_affinity_mask();
+ if (r < 0)
+ log_warning_errno(r, "Failed to determine number of local CPUs, ignoring: %m");
+ else
+ cpu_count = r;
cpu_limit = cpu_count * 2 + 16;
mem_limit = MAX(physical_memory() / (128UL*1024*1024), 10U);
@@ -1858,10 +1859,6 @@ int run_udevd(int argc, char *argv[]) {
}
/* set umask before creating any file/directory */
- r = chdir("/");
- if (r < 0)
- return log_error_errno(errno, "Failed to change dir to '/': %m");
-
umask(022);
r = mac_selinux_init();
@@ -1872,8 +1869,6 @@ int run_udevd(int argc, char *argv[]) {
if (r < 0 && r != -EEXIST)
return log_error_errno(r, "Failed to create /run/udev: %m");
- dev_setup(NULL, UID_INVALID, GID_INVALID);
-
if (getppid() == 1 && sd_booted() > 0) {
/* Get our own cgroup, we regularly kill everything udev has left behind.
* We only do this on systemd systems, and only if we are directly spawned
@@ -1916,10 +1911,6 @@ int run_udevd(int argc, char *argv[]) {
/* child */
(void) setsid();
-
- r = set_oom_score_adjust(-1000);
- if (r < 0)
- log_debug_errno(r, "Failed to adjust OOM score, ignoring: %m");
}
return main_loop(manager);