Re: [PATCH v2 2/8] objtool, kcsan: Add KCSAN runtime functions to whitelist

From: Dmitry Vyukov
Date: Mon Oct 21 2019 - 11:15:32 EST


On Thu, Oct 17, 2019 at 4:13 PM Marco Elver <elver@xxxxxxxxxx> wrote:
>
> This patch adds KCSAN runtime functions to the objtool whitelist.
>
> Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
> ---
> tools/objtool/check.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index 044c9a3cb247..d1acc867b43c 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -466,6 +466,23 @@ static const char *uaccess_safe_builtin[] = {
> "__asan_report_store4_noabort",
> "__asan_report_store8_noabort",
> "__asan_report_store16_noabort",
> + /* KCSAN */
> + "__kcsan_check_watchpoint",
> + "__kcsan_setup_watchpoint",
> + /* KCSAN/TSAN out-of-line */

There is no TSAN in-line instrumentation.

> + "__tsan_func_entry",
> + "__tsan_func_exit",
> + "__tsan_read_range",

There is also __tsan_write_range(), right? Isn't it safer to add it right away?

> + "__tsan_read1",
> + "__tsan_read2",
> + "__tsan_read4",
> + "__tsan_read8",
> + "__tsan_read16",
> + "__tsan_write1",
> + "__tsan_write2",
> + "__tsan_write4",
> + "__tsan_write8",
> + "__tsan_write16",
> /* KCOV */
> "write_comp_data",
> "__sanitizer_cov_trace_pc",
> --
> 2.23.0.866.gb869b98d4c-goog
>