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

From: Marco Elver
Date: Mon Oct 21 2019 - 11:43:37 EST


On Mon, 21 Oct 2019 at 17:15, Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
>
> 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.

Done @ v3.

> > + "__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?

Added all missing functions for v3.

Many thanks for the comments!


> > + "__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
> >