1
0
mirror of https://github.com/systemd/systemd synced 2025-11-20 17:24:45 +01:00

Compare commits

..

No commits in common. "3b11139c0db9dd0a37b0493a8d2ad5f531a92344" and "28aa0a1f25470b21fbe3b8af2d9d99e616c000a4" have entirely different histories.

46 changed files with 34 additions and 81 deletions

View File

@ -47,7 +47,6 @@ PACKAGES=(
libxkbcommon-dev libxkbcommon-dev
libxtables-dev libxtables-dev
libzstd-dev libzstd-dev
linux-tools-generic
mold mold
mount mount
net-tools net-tools
@ -144,12 +143,6 @@ sudo apt-get -y install "${PACKAGES[@]}"
pip3 install --user -r .github/workflows/requirements.txt --require-hashes --break-system-packages pip3 install --user -r .github/workflows/requirements.txt --require-hashes --break-system-packages
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
# TODO: drop after we switch to ubuntu 26.04
bpftool_dir=$(dirname "$(find /usr/lib/linux-tools/ /usr/lib/linux-tools-* -name 'bpftool' -perm /u=x 2>/dev/null | sort -r | head -n1)")
if [ -n "$bpftool_dir" ]; then
export PATH="$bpftool_dir:$PATH"
fi
if [[ -n "$CUSTOM_PYTHON" ]]; then if [[ -n "$CUSTOM_PYTHON" ]]; then
# If CUSTOM_PYTHON is set we need to pull jinja2 from pip, as a local interpreter is used # If CUSTOM_PYTHON is set we need to pull jinja2 from pip, as a local interpreter is used
pip3 install --user --break-system-packages jinja2 pip3 install --user --break-system-packages jinja2

View File

@ -18,7 +18,6 @@ ADDITIONAL_DEPS=(
libtss2-dev libtss2-dev
libxkbcommon-dev libxkbcommon-dev
libzstd-dev libzstd-dev
linux-tools-generic
python3-libevdev python3-libevdev
python3-pip python3-pip
python3-pyelftools python3-pyelftools
@ -75,12 +74,6 @@ for phase in "${PHASES[@]}"; do
capsh --drop=all -- -c "stat $PWD/meson.build" capsh --drop=all -- -c "stat $PWD/meson.build"
;; ;;
RUN|RUN_GCC|RUN_CLANG|RUN_CLANG_RELEASE) RUN|RUN_GCC|RUN_CLANG|RUN_CLANG_RELEASE)
# TODO: drop after we switch to ubuntu 26.04
bpftool_dir=$(dirname "$(find /usr/lib/linux-tools/ /usr/lib/linux-tools-* -name 'bpftool' -perm /u=x 2>/dev/null | sort -r | head -n1)")
if [ -n "$bpftool_dir" ]; then
export PATH="$bpftool_dir:$PATH"
fi
if [[ "$phase" =~ ^RUN_CLANG ]]; then if [[ "$phase" =~ ^RUN_CLANG ]]; then
export CC=clang export CC=clang
export CXX=clang++ export CXX=clang++
@ -112,12 +105,6 @@ for phase in "${PHASES[@]}"; do
TZ=GMT+12 meson test "${MESON_TEST_ARGS[@]}" -C build --print-errorlogs TZ=GMT+12 meson test "${MESON_TEST_ARGS[@]}" -C build --print-errorlogs
;; ;;
RUN_ASAN_UBSAN|RUN_GCC_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN_NO_DEPS) RUN_ASAN_UBSAN|RUN_GCC_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN_NO_DEPS)
# TODO: drop after we switch to ubuntu 26.04
bpftool_dir=$(dirname "$(find /usr/lib/linux-tools/ /usr/lib/linux-tools-* -name 'bpftool' -perm /u=x 2>/dev/null | sort -r | head -n1)")
if [ -n "$bpftool_dir" ]; then
export PATH="$bpftool_dir:$PATH"
fi
MESON_ARGS=(--optimization=1) MESON_ARGS=(--optimization=1)
if [[ "$phase" =~ ^RUN_CLANG_ASAN_UBSAN ]]; then if [[ "$phase" =~ ^RUN_CLANG_ASAN_UBSAN ]]; then

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int get_core_audit_fd(void); int get_core_audit_fd(void);
void close_core_audit_fd(void); void close_core_audit_fd(void);

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int clock_reset_timewarp(void); int clock_reset_timewarp(void);
void clock_apply_epoch(bool allow_backwards); void clock_apply_epoch(bool allow_backwards);

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */
#include "unit-def.h" /* IWYU pragma: export */ #include "unit-def.h" /* IWYU pragma: export */

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
typedef enum CrashAction { typedef enum CrashAction {
CRASH_FREEZE, CRASH_FREEZE,

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
typedef enum KillMode { typedef enum KillMode {
/* The kill mode is a property of a unit. */ /* The kill mode is a property of a unit. */

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
#include "crash-handler.h" #include "crash-handler.h"
extern bool arg_dump_core; extern bool arg_dump_core;

View File

@ -6,7 +6,7 @@
#include "cgroup.h" #include "cgroup.h"
#include "common-signal.h" #include "common-signal.h"
#include "execute.h" #include "execute.h"
#include "core-forward.h" #include "shared-forward.h"
#include "log.h" #include "log.h"
#include "path-lookup.h" #include "path-lookup.h"
#include "show-status.h" #include "show-status.h"

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int mac_selinux_setup(bool *loaded_policy); int mac_selinux_setup(bool *loaded_policy);

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
/* Manager status */ /* Manager status */

View File

@ -7,6 +7,6 @@
Nathaniel Chen <nathaniel.chen@intel.com> Nathaniel Chen <nathaniel.chen@intel.com>
***/ ***/
#include "core-forward.h" #include "shared-forward.h"
int mac_smack_setup(bool *loaded_policy); int mac_smack_setup(bool *loaded_policy);

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
/* Flags that identify the various "atomic" behaviours a specific dependency type implies. Each dependency is /* Flags that identify the various "atomic" behaviours a specific dependency type implies. Each dependency is
* a combination of one or more of these flags that define what they actually entail. */ * a combination of one or more of these flags that define what they actually entail. */

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void *userdata); int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void *userdata);
int unit_cgroup_runtime_build_json(sd_json_variant **ret, const char *name, void *userdata); int unit_cgroup_runtime_build_json(sd_json_variant **ret, const char *name, void *userdata);

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int rlimit_build_json(sd_json_variant **ret, const char *name, void *userdata); int rlimit_build_json(sd_json_variant **ret, const char *name, void *userdata);
int rlimit_table_build_json(sd_json_variant **ret, const char *name, void *userdata); int rlimit_table_build_json(sd_json_variant **ret, const char *name, void *userdata);

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int vl_method_get_user_record(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_get_user_record(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
int vl_method_get_group_record(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_get_group_record(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
int vl_method_describe_manager(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_describe_manager(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "core-forward.h" #include "shared-forward.h"
#define VARLINK_ERROR_UNIT_NO_SUCH_UNIT "io.systemd.Unit.NoSuchUnit" #define VARLINK_ERROR_UNIT_NO_SUCH_UNIT "io.systemd.Unit.NoSuchUnit"

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */

View File

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "shared-forward.h"
#include "homed-forward.h" #include "homed-forward.h"
#include "pidref.h" #include "pidref.h"
#include "stat-util.h" #include "stat-util.h"

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */
typedef enum HomeSetupFlags HomeSetupFlags; typedef enum HomeSetupFlags HomeSetupFlags;

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */

View File

@ -1,9 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */ #include "sd-forward.h"
#include "sd-forward.h" /* IWYU pragma: export */
typedef enum BusAuth BusAuth; typedef enum BusAuth BusAuth;
typedef enum BusSlotType BusSlotType; typedef enum BusSlotType BusSlotType;

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */

View File

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "shared-forward.h"
#include "list.h" #include "list.h"
#include "logind-forward.h" #include "logind-forward.h"
#include "time-util.h" #include "time-util.h"

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */
typedef struct Machine Machine; typedef struct Machine Machine;

View File

@ -2,6 +2,7 @@
#pragma once #pragma once
#include "firewall-util.h" #include "firewall-util.h"
#include "shared-forward.h"
#include "in-addr-util.h" #include "in-addr-util.h"
#include "networkd-forward.h" #include "networkd-forward.h"
#include "networkd-util.h" #include "networkd-util.h"

View File

@ -8,6 +8,7 @@
#include <linux/neighbour.h> #include <linux/neighbour.h>
#include <net/ethernet.h> #include <net/ethernet.h>
#include "shared-forward.h"
#include "in-addr-util.h" #include "in-addr-util.h"
#include "networkd-forward.h" #include "networkd-forward.h"

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */

View File

@ -4,6 +4,7 @@
#include <linux/nl80211.h> #include <linux/nl80211.h>
#include "ether-addr-util.h" #include "ether-addr-util.h"
#include "shared-forward.h"
#include "network-util.h" #include "network-util.h"
#include "networkd-bridge-vlan.h" #include "networkd-bridge-vlan.h"
#include "networkd-forward.h" #include "networkd-forward.h"

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */
typedef struct Manager Manager; typedef struct Manager Manager;

View File

@ -2,6 +2,7 @@
#pragma once #pragma once
#include "dns-def.h" #include "dns-def.h"
#include "shared-forward.h"
#include "list.h" #include "list.h"
#include "ratelimit.h" #include "ratelimit.h"
#include "resolve-util.h" #include "resolve-util.h"

View File

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "shared-forward.h"
#include "in-addr-util.h" #include "in-addr-util.h"
#include "list.h" #include "list.h"
#include "resolved-conf.h" #include "resolved-conf.h"

View File

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
#include "shared-forward.h"
#include "list.h" #include "list.h"
#include "resolved-dns-packet.h" #include "resolved-dns-packet.h"
#include "resolved-dnstls.h" #include "resolved-dnstls.h"

View File

@ -2,7 +2,7 @@
#pragma once #pragma once
#include "resolved-forward.h" #include "shared-forward.h"
extern const BusObjectImplementation dnssd_object; extern const BusObjectImplementation dnssd_object;

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */

View File

@ -4,6 +4,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include "common-signal.h" #include "common-signal.h"
#include "shared-forward.h"
#include "list.h" #include "list.h"
#include "resolve-util.h" #include "resolve-util.h"
#include "resolved-dns-browse-services.h" #include "resolved-dns-browse-services.h"

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */
typedef struct Context Context; typedef struct Context Context;

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "conf-parser-forward.h" /* IWYU pragma: export */ #include "conf-parser-forward.h" /* IWYU pragma: export */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once #pragma once
#include "udev-forward.h" #include "shared-forward.h"
#include "udev-event.h" #include "udev-event.h"
typedef struct UdevBuiltin { typedef struct UdevBuiltin {

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once #pragma once
#include "udev-forward.h" #include "shared-forward.h"
int device_add_errno(sd_device *dev, int error); int device_add_errno(sd_device *dev, int error);
int device_add_exit_status(sd_device *dev, int status); int device_add_exit_status(sd_device *dev, int status);

View File

@ -1,8 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once #pragma once
/* IWYU pragma: always_keep */
#include "shared-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */
typedef struct UdevCtrl UdevCtrl; typedef struct UdevCtrl UdevCtrl;

View File

@ -3,6 +3,7 @@
#include "sd-event.h" #include "sd-event.h"
#include "shared-forward.h"
#include "list.h" #include "list.h"
#include "udev-config.h" #include "udev-config.h"
#include "udev-forward.h" #include "udev-forward.h"

View File

@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once #pragma once
#include "udev-forward.h" #include "shared-forward.h"
int udev_node_apply_permissions( int udev_node_apply_permissions(
sd_device *dev, sd_device *dev,

View File

@ -8,7 +8,7 @@
#include "device-private.h" #include "device-private.h"
#include "device-util.h" #include "device-util.h"
#include "errno-util.h" #include "errno-util.h"
#include "udev-forward.h" #include "shared-forward.h"
/* Each trace point can have different number of additional arguments. Note that when the macro is used only /* Each trace point can have different number of additional arguments. Note that when the macro is used only
* additional arguments are listed in the macro invocation! * additional arguments are listed in the macro invocation!

View File

@ -301,7 +301,6 @@ testcase_reload() {
testcase_kernel_oom() { testcase_kernel_oom() {
cat >/tmp/script.sh <<"EOF" cat >/tmp/script.sh <<"EOF"
#!/usr/bin/env bash #!/usr/bin/env bash
set -x
choom --adjust '+1000' -- bash -c 'echo f >/proc/sysrq-trigger && exec sleep infinity' choom --adjust '+1000' -- bash -c 'echo f >/proc/sysrq-trigger && exec sleep infinity'
choom --adjust '+1000' -p $$ choom --adjust '+1000' -p $$
echo f >/proc/sysrq-trigger echo f >/proc/sysrq-trigger
@ -325,23 +324,13 @@ EOF
cat >/tmp/script.sh <<"EOF" cat >/tmp/script.sh <<"EOF"
#!/usr/bin/env bash #!/usr/bin/env bash
set -x
echo '+memory' >/sys/fs/cgroup/system.slice/oom-kill.service/cgroup.subtree_control echo '+memory' >/sys/fs/cgroup/system.slice/oom-kill.service/cgroup.subtree_control
mkdir /sys/fs/cgroup/system.slice/oom-kill.service/sub mkdir /sys/fs/cgroup/system.slice/oom-kill.service/sub
echo 1 >/sys/fs/cgroup/system.slice/oom-kill.service/sub/memory.oom.group echo 1 >/sys/fs/cgroup/system.slice/oom-kill.service/sub/memory.oom.group
echo $$ >/sys/fs/cgroup/system.slice/oom-kill.service/sub/cgroup.procs
# Start a child process in the subcgroup that will trigger OOM and be killed but keep the main process choom --adjust '+1000' -p $$
# outside the subcgroup to avoid a race condition where the kernel SIGKILLs the main process before systemd
# can process the OOM notification. With the main process still alive, systemd should have time to receive
# the OOM event and enter the 'oom-kill' state before the service exits.
(
echo $BASHPID >/sys/fs/cgroup/system.slice/oom-kill.service/sub/cgroup.procs
choom --adjust '+1000' -p $BASHPID
echo f >/proc/sysrq-trigger echo f >/proc/sysrq-trigger
exec sleep infinity exec sleep infinity
) &
wait $! || :
exec sleep infinity
EOF EOF
chmod +x /tmp/script.sh chmod +x /tmp/script.sh