Re: KCSAN + KVM = host reset

From: Marco Elver
Date: Thu Apr 09 2020 - 11:23:04 EST


On Thu, 9 Apr 2020 at 17:10, Qian Cai <cai@xxxxxx> wrote:
>
>
>
> > On Apr 9, 2020, at 3:03 AM, Marco Elver <elver@xxxxxxxxxx> wrote:
> >
> > On Wed, 8 Apr 2020 at 23:29, Qian Cai <cai@xxxxxx> wrote:
> >>
> >>
> >>
> >>> On Apr 8, 2020, at 5:25 PM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
> >>>
> >>> On 08/04/20 22:59, Qian Cai wrote:
> >>>> Running a simple thing on this AMD host would trigger a reset right away.
> >>>> Unselect KCSAN kconfig makes everything work fine (the host would also
> >>>> reset If only "echo off > /sys/kernel/debug/kcsanâ before running qemu-kvm).
> >>>
> >>> Is this a regression or something you've just started to play with? (If
> >>> anything, the assembly language conversion of the AMD world switch that
> >>> is in linux-next could have reduced the likelihood of such a failure,
> >>> not increased it).
> >>
> >> I donât remember I had tried this combination before, so donât know if it is a
> >> regression or not.
> >
> > What happens with KASAN? My guess is that, since it also happens with
> > "off", something that should not be instrumented is being
> > instrumented.
>
> No, KASAN + KVM works fine.
>
> >
> > What happens if you put a 'KCSAN_SANITIZE := n' into
> > arch/x86/kvm/Makefile? Since it's hard for me to reproduce on this
>
> Yes, that works, but this below alone does not work,
>
> KCSAN_SANITIZE_kvm-amd.o := n

There are some other files as well, that you could try until you hit
the right one.

But since this is in arch, 'KCSAN_SANITIZE := n' wouldn't be too bad
for now. If you can't narrow it down further, do you want to send a
patch?

Thanks,
-- Marco

> I have been able to reproduce this on a few AMD hosts.
>
> > exact system, I'd ask you to narrow it down by placing 'KCSAN_SANITIZE
> > := n' into suspect subsystems' Makefiles. Once you get it to work with
> > that, we can refine the solution.
> >
> > Thanks,
> > -- Marco
>