Re: KASAN: use-after-free Read in skb_release_data (2)

From: Dmitry Vyukov
Date: Wed Apr 01 2020 - 05:13:12 EST


On Tue, Mar 31, 2020 at 7:44 PM Grant Grundler <grundler@xxxxxxxxxxxx> wrote:
>
> On Tue, Mar 31, 2020 at 10:41 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Mar 31, 2020 at 10:36:01AM -0700, syzbot wrote:
> > > syzbot suspects this bug was fixed by commit:
> > >
> > > commit d9958306d4be14f4c7466242b38ed3893a7b1386
> > > Author: Nishad Kamdar <nishadkamdar@xxxxxxxxx>
> > > Date: Sun Mar 15 10:55:07 2020 +0000
> > >
> > > USB: chipidea: Use the correct style for SPDX License Identifier
> > >
> > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=16d4940be00000
> > > start commit: 63623fd4 Merge tag 'for-linus' of git://git.kernel.org/pub..
> > > git tree: upstream
> > > kernel config: https://syzkaller.appspot.com/x/.config?x=5d2e033af114153f
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=a66a7c2e996797bb4acb
> > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13c25a81e00000
> > >
> > > If the result looks correct, please mark the bug fixed by replying with:
> > >
> > > #syz fix: USB: chipidea: Use the correct style for SPDX License Identifier
> >
> > I really doubt a comment change fixed a syzbot bug :)
>
> Just as I don't believe the bug was caused by pmalani's patch to r8152.
>
> syzbot is just having trouble automatically bisecting/tracking this
> bug since it appears only intermittently.

Checking if vmlinux changes after applying the patch looked like a
smart and simple way to detect all of:
- Comment-only change
- Documentation-only change
- Change to a non-current arch
- Changed to non-enabled configs
- Changes to tests only

But it's not working in reality, there is some bug in kernel or compiler:
https://github.com/google/syzkaller/issues/1271#issuecomment-559093018

You may see in this bisection log as well:
culprit signature:
85ed07d5a8769c26fa0d170475624841e367ea0d08ea79f55ca450a9e97429a0
parent signature:
2244116b3fcae3bb24003990bcd2b06a03861effee2d94675e527446c3da078f

So this commit somehow does very realistically affect the kernel
binary. So far nobody figured out why...

Before you ask, syzkaller filters out debug info, etc:
https://github.com/google/syzkaller/blob/master/pkg/build/linux.go#L168-L178