diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2019-02-25 14:41:24 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2019-03-02 21:15:26 +0100 |
commit | 503122e1906907d35f4ff2ad3e4d558f46d1be37 (patch) | |
tree | ca83ba33b9f8ea4e332074586f40439092a9e364 | |
parent | 2db896b7fd3258851898652e9ddef7335f23e450 (diff) | |
download | gnutls-503122e1906907d35f4ff2ad3e4d558f46d1be37.tar.gz |
.gitlab-ci.yml: added thread sanitizer runtmp-false-start-clarifications
This checks for unsafe uses of variables in our included threaded
tests.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | .gitlab-ci.yml | 34 | ||||
-rw-r--r-- | devel/lsan.supp (renamed from fuzz/lsan.supp) | 0 | ||||
-rw-r--r-- | devel/tsan.supp | 9 |
3 files changed, 38 insertions, 5 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cc67461034..9da0e870c0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -218,11 +218,11 @@ asan.Fedora.x86_64: - CFLAGS="-fsanitize=address -g -O2" CXXFLAGS=$CFLAGS LDFLAGS="-static-libasan" dash ./configure --disable-gcc-warnings --disable-doc --cache-file cache/config.cache --disable-non-suiteb-curves --disable-guile - make -j$(nproc) - - LSAN_OPTIONS="suppressions=$(pwd)/fuzz/lsan.supp" make check -j$(nproc) - - LSAN_OPTIONS="suppressions=$(pwd)/fuzz/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x1 - - LSAN_OPTIONS="suppressions=$(pwd)/fuzz/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x2 - - LSAN_OPTIONS="suppressions=$(pwd)/fuzz/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x4 - - LSAN_OPTIONS="suppressions=$(pwd)/fuzz/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x8 + - LSAN_OPTIONS="suppressions=$(pwd)/devel/lsan.supp" make check -j$(nproc) + - LSAN_OPTIONS="suppressions=$(pwd)/devel/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x1 + - LSAN_OPTIONS="suppressions=$(pwd)/devel/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x2 + - LSAN_OPTIONS="suppressions=$(pwd)/devel/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x4 + - LSAN_OPTIONS="suppressions=$(pwd)/devel/lsan.supp" make -C fuzz check -j$(nproc) GNUTLS_CPUID_OVERRIDE=0x8 - CFLAGS="-fsanitize=address -g -O2" CXXFLAGS=$CFLAGS LDFLAGS="-static-libasan" dash ./configure --cache-file cache/config.cache --disable-doc --with-system-priority-file=/etc/crypto-policies/back-ends/gnutls.config --with-default-priority-string=@SYSTEM --with-default-trust-store-pkcs11="pkcs11:" --disable-guile - make -j$(nproc) @@ -242,6 +242,30 @@ asan.Fedora.x86_64: - tests/suite/*/*.log retry: 1 +threadsan.Fedora.x86_64: + stage: stage1-testing + image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD + script: + - ./bootstrap + - CFLAGS="-fsanitize=thread -g -O2" CXXFLAGS=$CFLAGS + dash ./configure --disable-gcc-warnings --disable-doc --cache-file cache/config.cache --disable-non-suiteb-curves --disable-guile --enable-fips140-mode + - make -j$(nproc) + - make -C tests check -j$(nproc) SUBDIRS=. TESTS="tls-pthread dtls-pthread fips-mode-pthread rng-pthread" TSAN_OPTIONS="suppressions=$(pwd)/devel/tsan.supp" GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS=1 GNUTLS_FORCE_FIPS_MODE=1 + tags: + - shared + except: + - tags + artifacts: + expire_in: 1 week + when: on_failure + paths: + - ./*.log + - fuzz/*.log + - tests/*.log + - tests/*/*.log + - tests/suite/*/*.log + retry: 1 + static-analyzers.Fedora.x86_64: stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD diff --git a/fuzz/lsan.supp b/devel/lsan.supp index 05541f71a1..05541f71a1 100644 --- a/fuzz/lsan.supp +++ b/devel/lsan.supp diff --git a/devel/tsan.supp b/devel/tsan.supp new file mode 100644 index 0000000000..20a835b0af --- /dev/null +++ b/devel/tsan.supp @@ -0,0 +1,9 @@ +# the following is an inherent issue on gnutls_record_get_direction() +race:_gnutls_io_write_buffered +race:_gnutls_io_write_flush + +# the following is an inherent issue on gnutls_transport_set_errno() +race:reset_errno + +# this updates the recv_state to states that are harmless +race:check_session_status |