[libvirt PATCH v2 0/7] Enable sanitizers
Tim Wiederhake
twiederh at redhat.com
Tue Jun 8 12:43:09 UTC 2021
Ping
On Tue, 2021-05-18 at 10:41 +0200, Tim Wiederhake wrote:
> Ping.
>
> On Thu, 2021-05-06 at 17:08 +0200, Tim Wiederhake wrote:
> > This series enables and adds AddressSanitizer and
> > UndefinedBehaviorSanitizer
> > builds to the CI.
> >
> > See:
> > https://clang.llvm.org/docs/AddressSanitizer.html and
> > https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
> >
> > These sanitizers already found some issues in libvirt, e.g.
> > 4eb7c621985dad4de911ec394ac628bd1a5b29ab,
> > 1294de209cee6643511265c7e2d4283c047cf652,
> > 8b8c91f487592c6c067847ca59dde405ca17573f, or
> > 1c34211c22de28127a509edbf2cf2f44cb0d891e.
> >
> > There exist two more relevant sanitizers, ThreadSanitizer and
> > MemorySanitizer.
> > Unfortunately, those two require an instrumented build of all
> > dependencies,
> > including libc, to work correctly.
> >
> > Note that clang and gcc have different implementations of these
> > sanitizers,
> > hence the introduction of two new jobs to the CI. The latter one
> > issues a
> > warning about the use of LD_PRELOAD in `virTestMain`, which in this
> > particular case can be safely ignored by setting `ASAN_OPTIONS` to
> > verify_asan_link_order=0` for the gcc build.
> >
> > Changes since V1:
> >
> > Incorporated changes suggested by Pavel, except for #6 (now #7):
> > The
> > statement
> > in
> > https://listman.redhat.com/archives/libvir-list/2021-May/msg00070.html
> > on
> > the sanitizers working with Fedora 33 is wrong, I was fooled by
> > caching. The
> > bug described there is present in Fedora 33, 34, and Rawhide.
> >
> > Cheers,
> > Tim
> >
> > Tim Wiederhake (7):
> > meson: Allow larger stack frames when instrumenting
> > meson: Allow undefined symbols when sanitizers are enabled
> > tests: virfilemock: realpath: Allow non-null second parameter
> > openvz: Add missing symbols to libvirt_openvz.syms
> > tests: openvzutilstest: Remove duplicate linking with
> > libvirt_openvz.a
> > virt-aa-helper: Remove duplicate linking with src/datatypes.o
> > ci: Enable address and undefined behavior sanitizers
> >
> > .gitlab-ci.yml | 35 +++++++++++++++++++++++++++++++++++
> > build-aux/syntax-check.mk | 2 +-
> > meson.build | 14 ++++++++++----
> > src/libvirt_openvz.syms | 2 ++
> > src/security/meson.build | 1 -
> > tests/meson.build | 2 +-
> > tests/virfilemock.c | 20 ++++++++++++--------
> > 7 files changed, 61 insertions(+), 15 deletions(-)
> >
> > --
> > 2.26.3
> >
> >
More information about the libvir-list
mailing list