Re: general protection fault in perf_misc_flags

From: Dmitry Vyukov
Date: Fri Sep 25 2020 - 08:23:01 EST


On Wed, Sep 23, 2020 at 5:20 PM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
>
> On Wed, Sep 23, 2020 at 12:34 PM Borislav Petkov <bp@xxxxxxxxx> wrote:
> >
> > On Wed, Sep 23, 2020 at 11:24:48AM +0200, Dmitry Vyukov wrote:
> > > 3. Run syzkaller locally with custom patches.
> >
> > Let's say I wanna build the kernel with clang-10 using your .config and
> > run it in a vm locally. What are the steps in order to reproduce the
> > same workload syzkaller runs in the guest on the GCE so that I can at
> > least try get as close as possible to reproducing locally?
>
> It's a random fuzzing workload. You can get this workload by running
> syzkaller locally:
> https://github.com/google/syzkaller/blob/master/docs/linux/setup_ubuntu-host_qemu-vm_x86-64-kernel.md
>
> The exact clang compiler syzbot used is available here:
> https://github.com/google/syzkaller/blob/master/docs/syzbot.md#crash-does-not-reproduce

I've marked all other similar ones a dup of this one. Now you can see
all manifestations on the dashboard:
https://syzkaller.appspot.com/bug?extid=ce179bc99e64377c24bc

Another possible debugging vector on this:
The location of crashes does not seem to be completely random and
evenly spread across kernel code. I think there are many more static
branches (mm, net), but we have 3 crashes in vdso and 9 in paravirt
code + these 6 crashes in perf_misc_flags which looks a bit like an
outlier (?). What's special about paravirt/vdso?..