Re: KASAN: use-after-free Read in blkdev_get

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 30, 2019 at 04:53:12PM +0100, Dmitry Vyukov wrote:
> On Sat, Nov 30, 2019 at 12:06 PM Duncan Roe <duncan_roe@xxxxxxxxxxxxxxx> wrote:
> > > > syzbot has bisected this bug to:
> > > >
> > > > commit 77ef8f5177599efd0cedeb52c1950c1bd73fa5e3
> > > > Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
> > > > Date:   Mon Jan 25 20:05:34 2016 +0000
> > > >
> > > >     tile kgdb: fix bug in copy to gdb regs, and optimize memset
> > > >
> > > > bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=1131bc0ee00000
> > > > start commit:   f5b7769e Revert "debugfs: inode: debugfs_create_dir uses m..
> > > > git tree:       upstream
> > > > final crash:    https://syzkaller.appspot.com/x/report.txt?x=1331bc0ee00000
> > > > console output: https://syzkaller.appspot.com/x/log.txt?x=1531bc0ee00000
> > > > kernel config:  https://syzkaller.appspot.com/x/.config?x=709f8187af941e84
> > > > dashboard link: https://syzkaller.appspot.com/bug?extid=eaeb616d85c9a0afec7d
> > > > syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=177f898f800000
> > > > C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=147eb85f800000
> > > >
> > > > Reported-by: syzbot+eaeb616d85c9a0afec7d@xxxxxxxxxxxxxxxxxxxxxxxxx
> > > > Fixes: 77ef8f517759 ("tile kgdb: fix bug in copy to gdb regs, and optimize
> > > > memset")
> > > >
> > > > For information about bisection process see: https://goo.gl/tpsmEJ#bisection
> > >
> > > Seriously?  How can the commit in question (limited to arch/tile/kernel/kgdb.c)
> > > possibly affect a bug that manages to produce a crash report with
> > > RSP: 0018:ffffffff82e03eb8  EFLAGS: 00000282
> > > RAX: 0000000000000000 RBX: ffffffff82e00000 RCX: 0000000000000000
> > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff81088779
> > > RBP: ffffffff82e03eb8 R08: 0000000000000000 R09: 0000000000000001
> > > R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
> > > R13: 0000000000000000 R14: 0000000000000000 R15: ffffffff82e00000
> > > FS:  0000000000000000(0000) GS:ffff88021fc00000(0000) knlGS:0000000000000000
> > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > CR2: 000000c420447ff8 CR3: 0000000213184000 CR4: 00000000001406f0
> > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> > > in it?  Unless something very odd has happened to tile, this crash has
> > > been observed on 64bit x86; the names of registers alone are enough
> > > to be certain of that.
> > >
> > > And the binaries produced by an x86 build should not be affected by any
> > > changes in arch/tile; not unless something is very wrong with the build
> > > system.  It's not even that this commit has fixed an earlier bug that
> > > used to mask the one manifested here - it really should have had zero
> > > impact on x86 builds, period.
> > >
> > > So I'm sorry, but I'm calling bullshit.  Something's quite wrong with
> > > the bot - either its build system or the bisection process.
> >
> > The acid test would be: does reverting that commit make the problem go away?
> >
> > See, for example, https://bugzilla.kernel.org/show_bug.cgi?id=203935
> >
> > Cheers ... Duncan.
>
> This is done as part of any bisection by definition, right? The test
> was done on the previous commit (effectively this one reverted) and no
> crash was observed. Otherwise bisection would have been pointed to a
> different commit.
>
Agree that's what bisecting does. What I had in mind was to make a patch to
remove the identified commit, and apply that to the most recent revision
possible. Then see if that makes the problem go away.

However when I look at my clone of
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git and compare
77ef8f5177 with the previous commit a7d1357664, "git diff --stat" shows

> 745 files changed, 8192 insertions(+), 15408 deletions(-)

The last few lines from a grep of "arch" are:

> arch/s390/oprofile/backtrace.c                     |    8 +-
> arch/tile/kernel/kgdb.c                            |    8 +-
> arch/x86/Kconfig                                   |    5 +-
> arch/x86/include/asm/livepatch.h                   |    2 +-
> arch/x86/include/asm/processor.h                   |    2 +-
> arch/x86/kernel/cpu/perf_event_amd_uncore.c        |    2 +
> arch/x86/lib/copy_user_64.S                        |  142 ++-
> arch/x86/mm/fault.c                                |   15 +-
> arch/x86/mm/gup.c                                  |    2 +-
> arch/x86/mm/numa.c                                 |    2 +-

Enough said?

Cheers ... Duncan.



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux