diff options
author | Julia Kartseva <hex@fb.com> | 2021-11-04 18:52:02 -0700 |
---|---|---|
committer | Julia Kartseva <hex@fb.com> | 2021-11-10 21:00:25 -0800 |
commit | 084d0849fc864b0377551b211def7a89b642c5e9 (patch) | |
tree | 0181bf3ed82d01aee639a0a6669f611b0d399863 /src/core/bpf-foreign.h | |
parent | a704137c20fcde3fa9077832d9ee29b89d6217e5 (diff) | |
download | systemd-084d0849fc864b0377551b211def7a89b642c5e9.tar.gz |
core: fix bpf-foreign cg controller realization
Requiring /sys/fs/bpf path to be a mount point at the moment of cgroup
controllers realization does more harm than good, because:
* Realization happens early on boot, the mount point may not be ready at
the time. That happens if mounts are made by a .mount unit (the issue we
encountered).
* BPF filesystem may be mounted on another point.
Remove the check. Instead verify that path provided by BPFProgram= is
within BPF fs when unit properties are parsed.
Split in two commits for simple backport.
Diffstat (limited to 'src/core/bpf-foreign.h')
-rw-r--r-- | src/core/bpf-foreign.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/bpf-foreign.h b/src/core/bpf-foreign.h index 9559cd7981..e387b1b1d3 100644 --- a/src/core/bpf-foreign.h +++ b/src/core/bpf-foreign.h @@ -4,7 +4,10 @@ #include "unit.h" -int bpf_foreign_supported(void); +static inline int bpf_foreign_supported(void) { + return cg_all_unified(); +} + /* * Attach cgroup-bpf programs foreign to systemd, i.e. loaded to the kernel by an entity * external to systemd. |