|
|
c2dfb7 |
From b9be2c6b48227642ba85c5a741f121cc99655904 Mon Sep 17 00:00:00 2001
|
|
|
c2dfb7 |
From: =?UTF-8?q?Michal=20Sekleta=CC=81r?= <msekleta@redhat.com>
|
|
|
c2dfb7 |
Date: Mon, 6 Jan 2020 12:30:58 +0100
|
|
|
c2dfb7 |
Subject: [PATCH] sysctl: let's by default increase the numeric PID range from
|
|
|
c2dfb7 |
2^16 to 2^22
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
This should PID collisions a tiny bit less likely, and thus improve
|
|
|
c2dfb7 |
security and robustness.
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
2^22 isn't particularly a lot either, but it's the current kernel
|
|
|
c2dfb7 |
limitation.
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
Bumping this limit was suggested by Linus himself:
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
https://lwn.net/ml/linux-kernel/CAHk-=wiZ40LVjnXSi9iHLE_-ZBsWFGCgdmNiYZUXn1-V5YBg2g@mail.gmail.com/
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
Let's experiment with this in systemd upstream first. Downstreams and
|
|
|
c2dfb7 |
users can after all still comment this easily.
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
Besides compat concern the most often heard issue with such high PIDs is
|
|
|
c2dfb7 |
usability, since they are potentially hard to type. I am not entirely sure though
|
|
|
c2dfb7 |
whether 4194304 (as largest new PID) is that much worse to type or to
|
|
|
c2dfb7 |
copy than 65563.
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
This should also simplify management of per system tasks limits as by
|
|
|
c2dfb7 |
this move the sysctl /proc/sys/kernel/threads-max becomes the primary
|
|
|
c2dfb7 |
knob to control how many processes to have in parallel.
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
Resolves: #1744214
|
|
|
c2dfb7 |
---
|
|
|
c2dfb7 |
sysctl.d/50-pid-max.conf | 17 +++++++++++++++++
|
|
|
c2dfb7 |
sysctl.d/meson.build | 1 +
|
|
|
c2dfb7 |
2 files changed, 18 insertions(+)
|
|
|
c2dfb7 |
create mode 100644 sysctl.d/50-pid-max.conf
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
diff --git a/sysctl.d/50-pid-max.conf b/sysctl.d/50-pid-max.conf
|
|
|
c2dfb7 |
new file mode 100644
|
|
|
c2dfb7 |
index 0000000000..3a8393d185
|
|
|
c2dfb7 |
--- /dev/null
|
|
|
c2dfb7 |
+++ b/sysctl.d/50-pid-max.conf
|
|
|
c2dfb7 |
@@ -0,0 +1,17 @@
|
|
|
c2dfb7 |
+# This file is part of systemd.
|
|
|
c2dfb7 |
+#
|
|
|
c2dfb7 |
+# systemd is free software; you can redistribute it and/or modify it
|
|
|
c2dfb7 |
+# under the terms of the GNU Lesser General Public License as published by
|
|
|
c2dfb7 |
+# the Free Software Foundation; either version 2.1 of the License, or
|
|
|
c2dfb7 |
+# (at your option) any later version.
|
|
|
c2dfb7 |
+
|
|
|
c2dfb7 |
+# See sysctl.d(5) and core(5) for documentation.
|
|
|
c2dfb7 |
+
|
|
|
c2dfb7 |
+# To override settings in this file, create a local file in /etc
|
|
|
c2dfb7 |
+# (e.g. /etc/sysctl.d/90-override.conf), and put any assignments
|
|
|
c2dfb7 |
+# there.
|
|
|
c2dfb7 |
+
|
|
|
c2dfb7 |
+# Bump the numeric PID range to its maximum of 2^22 (from the in-kernel default
|
|
|
c2dfb7 |
+# of 2^16), to make PID collisions less likely.
|
|
|
c2dfb7 |
+kernel.pid_max = 4194304
|
|
|
c2dfb7 |
+
|
|
|
c2dfb7 |
diff --git a/sysctl.d/meson.build b/sysctl.d/meson.build
|
|
|
c2dfb7 |
index 64f6ce942e..a95957ad7d 100644
|
|
|
c2dfb7 |
--- a/sysctl.d/meson.build
|
|
|
c2dfb7 |
+++ b/sysctl.d/meson.build
|
|
|
c2dfb7 |
@@ -2,6 +2,7 @@
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
install_data(
|
|
|
c2dfb7 |
'50-default.conf',
|
|
|
c2dfb7 |
+ '50-pid-max.conf',
|
|
|
c2dfb7 |
install_dir : sysctldir)
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
in_files = []
|