summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2019-02-25 14:41:24 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2019-03-02 21:15:26 +0100
commit503122e1906907d35f4ff2ad3e4d558f46d1be37 (patch)
treeca83ba33b9f8ea4e332074586f40439092a9e364
parent2db896b7fd3258851898652e9ddef7335f23e450 (diff)
downloadgnutls-tmp-false-start-clarifications.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.yml34
-rw-r--r--devel/lsan.supp (renamed from fuzz/lsan.supp)0
-rw-r--r--devel/tsan.supp9
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