Re: [PATCH 2/2] Fix perf-hooks test

From: Arnaldo Carvalho de Melo
Date: Fri Jul 05 2019 - 12:40:31 EST


Em Tue, Jul 02, 2019 at 10:37:16AM -0700, Numfor Mbiziwo-Tiapo escreveu:
> The perf-hooks test fails with Address Sanitizer and Memory
> Sanitizer builds because it purposefully generates a segfault.
> Checking if these sanitizers are active when running this test
> will allow the perf-hooks test to pass.

Can you please add to the commit log message, here, the sequence of
steps needed to build with these sanitizers, so that one can replicate
the steps and reproduce the results?

- Arnaldo

> Signed-off-by: Numfor Mbiziwo-Tiapo <nums@xxxxxxxxxx>
> ---
> tools/perf/tests/perf-hooks.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/tools/perf/tests/perf-hooks.c b/tools/perf/tests/perf-hooks.c
> index a693bcf017ea..524ecba63615 100644
> --- a/tools/perf/tests/perf-hooks.c
> +++ b/tools/perf/tests/perf-hooks.c
> @@ -25,7 +25,12 @@ static void the_hook(void *_hook_flags)
> *hook_flags = 1234;
>
> /* Generate a segfault, test perf_hooks__recover */
> +#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
> +defined(THREAD_SANITIZER) || defined(SAFESTACK_SANITIZER)
> + raise(SIGSEGV);
> +#else
> *p = 0;
> +#endif
> }
>
> int test__perf_hooks(struct test *test __maybe_unused, int subtest __maybe_unused)
> --
> 2.22.0.410.gd8fdbe21b5-goog

--

- Arnaldo