Re: [RFC PATCH] UML: add support for KASAN under x86_64

From: Dmitry Vyukov
Date: Thu Feb 13 2020 - 00:40:06 EST


On Wed, Feb 12, 2020 at 11:25 PM Patricia Alfonso
<trishalfonso@xxxxxxxxxx> wrote:
> > On Wed, Feb 12, 2020 at 1:19 AM Patricia Alfonso
> > <trishalfonso@xxxxxxxxxx> wrote:
> > >
> > > On Thu, Jan 16, 2020 at 12:53 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
> > > >
> > > > > +void kasan_init(void)
> > > > > +{
> > > > > + kasan_map_memory((void *)KASAN_SHADOW_START, KASAN_SHADOW_SIZE);
> > > > > +
> > > > > + // unpoison the kernel text which is form uml_physmem -> uml_reserved
> > > > > + kasan_unpoison_shadow((void *)uml_physmem, physmem_size);
> > > > > +
> > > > > + // unpoison the vmalloc region, which is start_vm -> end_vm
> > > > > + kasan_unpoison_shadow((void *)start_vm, (end_vm - start_vm + 1));
> > > > > +
> > > > > + init_task.kasan_depth = 0;
> > > > > + pr_info("KernelAddressSanitizer initialized\n");
> > > > > +}
> > > >
> > > > Was this tested with stack instrumentation? Stack instrumentation
> > > > changes what shadow is being read/written and when. We don't need to
> > > > get it working right now, but if it does not work it would be nice to
> > > > restrict the setting and leave some comment traces for future
> > > > generations.
> > > If you are referring to KASAN_STACK_ENABLE, I just tested it and it
> > > seems to work fine.
> >
> >
> > I mean stack instrumentation which is enabled with CONFIG_KASAN_STACK.
>
> I believe I was testing with CONFIG_KASAN_STACK set to 1 since that is
> the default value when compiling with GCC.The syscall_stub_data error
> disappears when the value of CONFIG_KASAN_STACK is 0, though.


Then I would either disable it for now for UML, or try to unpoision
stack or ignore accesses.