Luca Boccassi
68ee5d774c
core: support user manager with Condition[Memory/CPU/IO]Pressure
...
Get the cgroup root path from the current PID, so that when
ran by the user manager we can get to the right path.
Eg: foo.slice:10% will check under:
/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/foo.slice/cpu.pressure
Follow-up for 81513b382b
2021-12-02 11:21:06 +00:00
Yu Watanabe
8feb9fa4f8
Merge pull request #21584 from yuwata/network-wireguard-cleanups
...
network: cleanups for wireguard
2021-12-02 15:53:57 +09:00
Yu Watanabe
4a410adae6
Revert "network: address: drop deprecated temporary address"
...
This reverts commit 528da64a0c .
The commit is a bad way to fix #19838 , and introduces #21593 .
Fixes #21593 .
2021-12-02 15:41:45 +09:00
Yu Watanabe
38ef464e41
network/wireguard: search valid address of the endpoint from all struct addrinfo entries
2021-12-02 08:39:37 +09:00
Yu Watanabe
8bf7e3b61c
network/wireguard: cleanups for resolving endpoints
...
This makes
- drop peers_with_unresolved_endpoint and peers_with_failed_endpoint,
- drop destroy handler for sd_resolve_query, and manage each query by peer,
- add random fluctuation to the timeout for retry handler,
- retry timer event source is now managed by peer,
- use sd_event_source_disable_unref().
2021-12-02 08:39:32 +09:00
Yu Watanabe
4a897d29f1
network/wireguard: do not resolve Endpoint= if an IP address is specified
...
Also verify the domain name and port.
2021-12-02 08:36:22 +09:00
Yu Watanabe
4c9bb70854
parse-util: refuse leading white space in port number
...
When parse_ip_port() is directly used in a conf parser, then that's
fine, as the rvalue is already truncated.
When parse_ip_port() is used when e.g. parsing IP address with port,
then we should really refuse white space after colon.
2021-12-02 08:36:22 +09:00
Yu Watanabe
bf1e65a4fd
Merge pull request #21585 from yuwata/network-radv-uplink-interface-auto-with-dhcp6-pd
...
network: cleanups for uplink interface handling for RADV and DHCP6-PD
2021-12-02 08:16:23 +09:00
Yu Watanabe
9db6a416dd
Merge pull request #21583 from bluca/bpf_assert
...
cgroup: don't emit BPF firewall warning when manager is in test mode
2021-12-02 07:47:17 +09:00
Luca Boccassi
6b88743c22
Merge pull request #21591 from yuwata/core-bpf-firewall-unsupported-reason
...
core/bpf-firewall: make bpf_firewall_supported() always set unsupport…
2021-12-01 21:20:30 +00:00
Luca Boccassi
541b127170
elf-util: do not ignore prctl() errors
...
We want to avoid loops, so fail and return if we can't disable
core dumping
CID#1467004
2021-12-01 16:00:26 +00:00
Yu Watanabe
a783421498
tree-wide: fix typo
2021-12-02 00:51:02 +09:00
KennthStailey
2ed6297f71
Fixed typo
...
`ip set dev eth0` should be `ip link set dev eth0`
2021-12-02 00:02:37 +09:00
Yu Watanabe
8751bb6f5e
core/bpf-firewall: make bpf_firewall_supported() always set unsupported reason when BPF_FIREWALL_UNSUPPORTED is returned
...
Otherwise, log_unit_full_errno() in emit_bpf_firewall_warning() will
trigger an assertion.
2021-12-01 21:39:21 +09:00
Yu Watanabe
ad13559e8d
core/cgroup: propagate errors on detecting supported features
2021-12-01 21:39:21 +09:00
Yu Watanabe
3de3fd3d16
core/restrict-netif: make restrict_network_interfaces_supported() return negative errno only when critical error
...
Other errors are handled as the functionality is not supported.
This also drops unnecessary SYNTHETIC_ERRNO().
2021-12-01 21:38:54 +09:00
Luca Boccassi
cb94244406
test: run commands with debug level logs in TEST-65-ANALYZE
2021-12-01 12:06:36 +00:00
Luca Boccassi
a42232a18c
cgroup: don't emit BPF firewall warning when manager is in test mode
...
Support for BPF might not have been checked, since it's not necessary
in test mode (eg: running offline analysis of units). This causes an
assert:
Assertion '(_error) != 0' failed at src/core/bpf-firewall.c:914, function emit_bpf_firewall_warning(). Aborting.
Export SYSTEMD_LOG_LEVEl=debug in TEST-65-ANALYZE is enough to trigger
this assert while doing an offline analysis of a unit that has some
firewall/network restrictions set.
Skip the warning if the manager is in test mode.
2021-12-01 12:06:36 +00:00
Yu Watanabe
6016f1cfbb
test-network: re-arrange DHCP6-PD subnet IDs to test searching free subnet ID
2021-12-01 20:35:03 +09:00
Yu Watanabe
6c8d6bdd40
test-network: add testcases for uplink interface detection for RADV with DHCPv6-PD
2021-12-01 20:35:03 +09:00
Yu Watanabe
1a4ca0e2f3
network: dhcp6-pd: exclude all explicitly specified subnet IDs when searching free IDs
...
When the upstream link gained a lease, then several downstream links may
not appear yet. Previously, the explicitly specified subnet ID for a
downstream link which appears later may be already assigned to an
interface which does not request specific subnet ID.
To avoid such situation, this makes all specified IDs are excluded when
searching free IDs.
As a side effect, we can avoid the second call of
dhcp6_pd_distribute_prefix().
2021-12-01 20:35:03 +09:00
Yu Watanabe
a74229c58e
network: dhcp6-pd: introduce dhcp6_pd_is_uplink()
...
This also merges dhcp6_pd_resolve_uplink() with dhcp6_pd_find_uplink()
2021-12-01 20:35:03 +09:00
Yu Watanabe
926fc8ee63
network: dhcp6: make UplinkInterface=:self take effect only when DHCPv6PrefixDelegation= is enabled
2021-12-01 20:35:03 +09:00
Yu Watanabe
f6032ff3e0
network: radv: use the uplink interface used in DHCPv6-PD
2021-12-01 20:35:03 +09:00
Arvid E. Picciani
312dac2869
docs: document that systemd closes console during normal runtime
...
fixes #21451
Signed-off-by: Arvid E. Picciani <aep@exys.org >
2021-12-01 10:16:15 +01:00
Luca Boccassi
81513b382b
core: add Condition[Memory/CPU/IO]Pressure
...
By default checks PSI on /proc/pressure, and causes a unit to be skipped
if the threshold is above the given configuration for the avg300
measurement.
Also allow to pass a custom timespan, and a particular slice unit to
check under.
Fixes #20139
2021-12-01 09:53:18 +01:00
Yu Watanabe
99f8a6d7f5
Merge pull request #21581 from keszybz/really-random-fixlets
...
Really random fixlets
2021-12-01 12:54:00 +09:00
Yu Watanabe
361bf5fb77
Merge pull request #21564 from yuwata/errno-eagain-eintr
...
tree-wide: introduce ERRNO_IS_TRANSIENT() and use it
2021-12-01 12:52:27 +09:00
Yu Watanabe
db58f6a933
Merge pull request #21536 from medhefgo/test
...
test: Introduce TEST_RET macro
2021-12-01 12:52:10 +09:00
Yu Watanabe
c8cbe8e0eb
Merge pull request #21288 from loongarch64/la64/main
...
Add support for the LoongArch architecture.
2021-12-01 12:51:48 +09:00
Luca Boccassi
c7b5d3b5e4
Merge pull request #21553 from yuwata/network-wireguard-add-routes-to-allowed-ips
...
network: wireguard: add routes to AllowedIPs=
2021-11-30 23:30:31 +00:00
Zbigniew Jędrzejewski-Szmek
160dadc035
tmpfiles: 'st' may have been used uninitialized
2021-11-30 22:57:31 +01:00
Zbigniew Jędrzejewski-Szmek
baf60a80b5
man: prettify line number handling in python example
...
This way the 'line_number' variable contains the actual line number as we think
of it, instead of adjusting it on output.
2021-11-30 22:56:51 +01:00
Zbigniew Jędrzejewski-Szmek
75c293f37d
test-sizeof: show stack and heap randomization
...
It's useful to reassure yourself those those things actually work ;)
2021-11-30 22:55:15 +01:00
Zbigniew Jędrzejewski-Szmek
4248b9f6a5
Merge pull request #21580 from bluca/core_fork
...
Switch coredump ELF parsing to fork+dlopen
2021-11-30 21:49:53 +01:00
Yu Watanabe
6387cac3f3
test-network: add tests for creating routes to wireguard's AllowedIPs=
2021-12-01 04:00:16 +09:00
Yu Watanabe
e908434458
network: wireguard: automatically configure routes to addresses specified in AllowedIPs=
...
Closes #14176 .
2021-12-01 04:00:11 +09:00
Yu Watanabe
28870a9d2e
network: route: expose route_hash_ops
2021-12-01 03:56:00 +09:00
Yu Watanabe
9e11bd58fb
network/wireguard: drop unnecessary .in6 specifier
...
This should not change any behavior, as the size of the IPv4 address is
smaller than IPv6.
2021-12-01 03:56:00 +09:00
Yu Watanabe
5e82a61375
network: route: read RTA_TABLE attribute to get route table
...
If the table of a route is larger than 255, then the value is stored in
RTA_TABLE attribute. But the attribute is not supported by old kernels.
So, first try to read the value from RTA_TABLE attribute, then fallback
to the value in the message header.
2021-12-01 03:53:09 +09:00
Yu Watanabe
af31670340
network: route: use typesafe function
2021-12-01 03:52:11 +09:00
Zbigniew Jędrzejewski-Szmek
5f1d6ebd2a
oomd: use type suffix instead of casting
...
The end result is the same.
2021-11-30 18:42:47 +01:00
Yu Watanabe
528da64a0c
network: address: drop deprecated temporary address
...
Fixes #19838 .
2021-11-30 18:17:23 +01:00
Luca Boccassi
d2d8bd3a17
TODO: update dlopen todo list
2021-11-30 16:49:59 +00:00
Luca Boccassi
56f2a72919
elf-util: switch libelf/libdw to dlopen()
...
In order to avoid inflating the dependency list for the core
library, use dlopen when inspecting elfs, since it's only
used in two non-core executables.
2021-11-30 16:49:59 +00:00
Luca Boccassi
5361f62d6d
meson: remove libdw dependency from pstore
...
systemd-pstore does not use any symbol from libdw, and never did,
but the dependency was listed since the beginning
2021-11-30 16:49:59 +00:00
Luca Boccassi
889f252973
elf-util: add stub for builds without libdw
2021-11-30 16:49:59 +00:00
Luca Boccassi
5564c6d802
elf-util: split out helper to parse build-id
2021-11-30 16:49:59 +00:00
Luca Boccassi
ea680f0524
coredump: move elf parsing utilities to src/shared/elf-util
2021-11-30 16:49:59 +00:00
Luca Boccassi
f05b5cddfb
coredump: always log on failure in parse_core()
2021-11-30 16:49:58 +00:00