Re: [PATCH 2/3] tools/objtool: add kasan_check_* to uaccess whitelist

From: Dmitry Vyukov
Date: Wed May 29 2019 - 04:58:41 EST


On Tue, May 28, 2019 at 7:19 PM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Tue, May 28, 2019 at 06:32:57PM +0200, Marco Elver wrote:
> > This is a pre-requisite for enabling bitops instrumentation. Some bitops
> > may safely be used with instrumentation in uaccess regions.
> >
> > For example, on x86, `test_bit` is used to test a CPU-feature in a
> > uaccess region: arch/x86/ia32/ia32_signal.c:361
>
> That one can easily be moved out of the uaccess region. Any else?

Marco, try to update config with "make allyesconfig" and then build
the kernel without this change.

>
> > Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
> > ---
> > tools/objtool/check.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> > index 172f99195726..eff0e5209402 100644
> > --- a/tools/objtool/check.c
> > +++ b/tools/objtool/check.c
> > @@ -443,6 +443,8 @@ static void add_ignores(struct objtool_file *file)
> > static const char *uaccess_safe_builtin[] = {
> > /* KASAN */
> > "kasan_report",
> > + "kasan_check_read",
> > + "kasan_check_write",
> > "check_memory_region",
> > /* KASAN out-of-line */
> > "__asan_loadN_noabort",
> > --
> > 2.22.0.rc1.257.g3120a18244-goog
> >