From 2de9d71a5cc93f04ed2abacd44d22ea6ccda4cfc Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 13 Aug 2024 08:58:29 -0400 Subject: [PATCH] doc: Add doc to show sysctl setting for Sanitizers In order to run the XXXX Sanitizers over the code as a developer modern linux distro's require a specific sysctl. Let's document that so that people are aware of it. Signed-off-by: Donald Sharp --- doc/developer/topotests.rst | 8 ++++++++ doc/developer/workflow.rst | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/doc/developer/topotests.rst b/doc/developer/topotests.rst index 586c0967404a..eaa8e38a9ca1 100644 --- a/doc/developer/topotests.rst +++ b/doc/developer/topotests.rst @@ -411,6 +411,14 @@ for ``master`` branch: and create ``frr`` user and ``frrvty`` group as shown above. +Newer versions of Address Sanitizers require a sysctl to be changed +to allow for the tests to be successfully run. This is also true +for Undefined behavior Sanitizers as well as Memory Sanitizer. + +.. code:: shell + + sysctl vm.mmap_rnd_bits=28 + Debugging Topotest Failures ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst index 166c96da33c6..a6bdec1e5bcf 100644 --- a/doc/developer/workflow.rst +++ b/doc/developer/workflow.rst @@ -1325,6 +1325,14 @@ but are no longer actively maintained. MemorySanitizer is not available in GCC. The different Sanitizers are mostly incompatible with each other. Please refer to GCC/LLVM documentation for details. +.. note:: + + The different sanitizers also require setting + + sysctl vm.mmap_rnd_bits=28 + + in order to work properly. + frr-format plugin This is a GCC plugin provided with FRR that does extended type checks for ``%pFX``-style printfrr extensions. To use this plugin,