From: Frantisek Sumsal Date: Fri, 24 Apr 2026 12:17:23 +0000 (+0200) Subject: test: drop any memory limits from units when running with sanitizers X-Git-Tag: v260.2~181 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37a7c2e485cff609809b6b80b66d4868dc834d05;p=thirdparty%2Fsystemd.git test: drop any memory limits from units when running with sanitizers As the memory usage under sanitizers is quite unpredictable. This is currently relevant mainly for Polkit, as it introduced memory limits for its polkitd.service unit in the latest version [0] which are very easy to trigger when running under sanitizers (as polkitd depends on libsystemd which brings ASan into polkitd's address space). [0] https://github.com/polkit-org/polkit/commit/7d9c06c58a957ee3f2a4383ade6f207b05207e3e (cherry picked from commit e3aaf3d76eb0990ca015961703e905977df8faf7) --- diff --git a/mkosi/mkosi.sanitizers/mkosi.postinst b/mkosi/mkosi.sanitizers/mkosi.postinst index c451e05796d..01c5b23fa25 100755 --- a/mkosi/mkosi.sanitizers/mkosi.postinst +++ b/mkosi/mkosi.sanitizers/mkosi.postinst @@ -9,13 +9,17 @@ if [[ ! -f "$BUILDROOT/$LIBSYSTEMD" ]]; then exit 0 fi -# ASAN and syscall filters aren't compatible with each other. +# ASAN and syscall filters aren't compatible with each other. Also, drop any memory limits +# as these are quite unpredictable when running under sanitizers. find "$BUILDROOT"/usr "$BUILDROOT"/etc -name '*.service' -type f | while read -r unit; do - if grep -q -e MemoryDeny -e SystemCall "$unit" ; then + if grep -q -e MemoryDeny -e MemoryMax -e MemoryHigh -e MemorySwapMax -e SystemCall "$unit" ; then mkdir -p "$unit.d" cat > "$unit.d/sanitizer-compat.conf" <