From aed18d7e9a4811f941c149c5d96cb3cc428a3430 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 27 Nov 2024 20:20:51 +0100 Subject: [PATCH] mkosi: Simplify sanitizer setup Let's get rid of 20-sanitizers.conf and just move it into mkosi.sanitizers instead. --- mkosi.conf | 3 +++ mkosi.conf.d/20-sanitizers.conf | 25 ------------------------- mkosi.sanitizers/mkosi.conf | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 25 deletions(-) delete mode 100644 mkosi.conf.d/20-sanitizers.conf diff --git a/mkosi.conf b/mkosi.conf index 94c8697ded3..835b1d4b9c9 100644 --- a/mkosi.conf +++ b/mkosi.conf @@ -147,3 +147,6 @@ QemuSmp=2 QemuSwtpm=yes QemuVsock=yes QemuKvm=yes + +[Include] +Include=%D/mkosi.sanitizers diff --git a/mkosi.conf.d/20-sanitizers.conf b/mkosi.conf.d/20-sanitizers.conf deleted file mode 100644 index ecbb02ba615..00000000000 --- a/mkosi.conf.d/20-sanitizers.conf +++ /dev/null @@ -1,25 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later - -[Match] -Environment=SANITIZERS -Environment=!SANITIZERS= - -[Build] -# Set verify_asan_link_order=0 to prevent ASAN warnings when building the image and make sure the real ASAN -# options are set when booting the image. -# Set intercept_tls_get_addr=0 to work around leak sanitizer segmentation fault in test-dlopen-so on CentOS -# Stream 9. -# TODO: Drop intercept_tls_get_addr=0 when we remove CentOS Stream 9 builds. -Environment=ASAN_OPTIONS=verify_asan_link_order=0:intercept_tls_get_addr=0 - -[Content] -KernelCommandLine= - ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:disable_coredump=0:use_madv_dontdump=1 - systemd.setenv=ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:disable_coredump=0:use_madv_dontdump=1 - UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1 - systemd.setenv=UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1 - LSAN_OPTIONS=suppressions=/usr/lib/systemd/leak-sanitizer-suppressions - systemd.setenv=LSAN_OPTIONS=suppressions=/usr/lib/systemd/leak-sanitizer-suppressions - -[Include] -Include=%D/mkosi.sanitizers diff --git a/mkosi.sanitizers/mkosi.conf b/mkosi.sanitizers/mkosi.conf index 844541ce8b4..0137d4e38d6 100644 --- a/mkosi.sanitizers/mkosi.conf +++ b/mkosi.sanitizers/mkosi.conf @@ -3,3 +3,20 @@ [Match] Environment=SANITIZERS Environment=!SANITIZERS= + +[Build] +# Set verify_asan_link_order=0 to prevent ASAN warnings when building the image and make sure the real ASAN +# options are set when booting the image. +# Set intercept_tls_get_addr=0 to work around leak sanitizer segmentation fault in test-dlopen-so on CentOS +# Stream 9. +# TODO: Drop intercept_tls_get_addr=0 when we remove CentOS Stream 9 builds. +Environment=ASAN_OPTIONS=verify_asan_link_order=0:intercept_tls_get_addr=0 + +[Content] +KernelCommandLine= + ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:disable_coredump=0:use_madv_dontdump=1 + systemd.setenv=ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:disable_coredump=0:use_madv_dontdump=1 + UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1 + systemd.setenv=UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1 + LSAN_OPTIONS=suppressions=/usr/lib/systemd/leak-sanitizer-suppressions + systemd.setenv=LSAN_OPTIONS=suppressions=/usr/lib/systemd/leak-sanitizer-suppressions -- 2.47.3