core/unit: do not load drop-in configs for masked unit files

Otherwise, ExecXYZ= given by drop-ins may be added to a masked unit,
then commands may be unexpectedly executed. For example, if an ExecStop=
is set in a drop-in for a running unit, then 'systemctl mask --now' for
the unit try to invoke the command specified in ExecStop=.

Fixes #38802.
This commit is contained in:
Yu Watanabe
2025-09-04 10:13:17 +09:00
parent fe3c1b0de6
commit 2ba0eacc6c

View File

@@ -1422,6 +1422,9 @@ int unit_load_fragment_and_dropin(Unit *u, bool fragment_required) {
if (r < 0)
return r;
if (u->load_state == UNIT_MASKED)
return 0;
if (u->load_state == UNIT_STUB) {
if (fragment_required)
return -ENOENT;