Message ID | alpine.DEB.2.22.394.2502041612070.9756@ubuntu-linux-20-04-desktop (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [RFC] enable UBSAN for automation tests | expand |
On Wed Feb 5, 2025 at 12:44 AM GMT, Stefano Stabellini wrote: > Hi all, > > I would like to propose to enable the UBSAN config option in our Gitlab > pipelines. The attached patch (just for testing, do not commit) enables > UBSAN on the Xen build jobs used for most of the ARM and x86 tests. The > pipeline passes. > > https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/1656001157 > > Cheers, > > Stefano > > diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml > index bc4a8a5ad2..92790648aa 100644 > --- a/automation/gitlab-ci/build.yaml > +++ b/automation/gitlab-ci/build.yaml > @@ -333,6 +333,8 @@ alpine-3.18-gcc-debug: > CONFIG_EXPERT=y > CONFIG_UNSUPPORTED=y > CONFIG_ARGO=y > + CONFIG_UBSAN=y > + CONFIG_UBSAN_FATAL=y > > debian-12-x86_64-gcc-debug: > extends: .gcc-x86-64-build-debug > @@ -419,6 +421,11 @@ alpine-3.18-gcc-debug-arm64: > extends: .gcc-arm64-build-debug > variables: > CONTAINER: alpine:3.18-arm64v8 > + EXTRA_XEN_CONFIG: | > + CONFIG_EXPERT=y > + CONFIG_UNSUPPORTED=y > + CONFIG_UBSAN=y > + CONFIG_UBSAN_FATAL=y > > alpine-3.18-gcc-arm64-randconfig: > extends: .gcc-arm64-build Sounds good to me. Particularly seeing how the pipeline is already clean. We did some UBSAN checking in XenServer and it did uncovered a number of "oops, yes that shouldn't quite be like that" sort of issues. There's already precedent for making debug builds do slightly different things to exercise different code paths (e.g: forcing map_domain_page() to always use the mapcache rather than short-circuiting via the directmap). Cheers, Alejandro
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index bc4a8a5ad2..92790648aa 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -333,6 +333,8 @@ alpine-3.18-gcc-debug: CONFIG_EXPERT=y CONFIG_UNSUPPORTED=y CONFIG_ARGO=y + CONFIG_UBSAN=y + CONFIG_UBSAN_FATAL=y debian-12-x86_64-gcc-debug: extends: .gcc-x86-64-build-debug @@ -419,6 +421,11 @@ alpine-3.18-gcc-debug-arm64: extends: .gcc-arm64-build-debug variables: CONTAINER: alpine:3.18-arm64v8 + EXTRA_XEN_CONFIG: | + CONFIG_EXPERT=y + CONFIG_UNSUPPORTED=y + CONFIG_UBSAN=y + CONFIG_UBSAN_FATAL=y alpine-3.18-gcc-arm64-randconfig: extends: .gcc-arm64-build