mirror of
https://github.com/clearlinux/systemd-stable.git
synced 2026-09-06 13:41:31 +00:00
systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling
If one has a config like:
d /tmp 1777 root root -
X /tmp/important_mount
All files below /tmp/important_mount will be deleted as the
/tmp/important_mount item will spuriously inherit a max age of 0
from /tmp.
/tmp has a max age of 0 but age_set is (of course) false.
This affects also the PrivateTmp feature of systemd.
All tmp files of such services will be deleted unconditionally
and can cause service failures and data loss.
Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic.
(cherry picked from commit 9ed2a35e93)
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
387a5a9345
commit
b66559b11f
@@ -1410,7 +1410,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) {
|
||||
candidate_item = j;
|
||||
}
|
||||
|
||||
if (candidate_item) {
|
||||
if (candidate_item && candidate_item->age_set) {
|
||||
i->age = candidate_item->age;
|
||||
i->age_set = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user