linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Zach O'Keefe" <zokeefe@google.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: syzbot <syzbot+57adb2a4b9d206521bc2@syzkaller.appspotmail.com>,
	 linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	 syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] [mm?] general protection fault in hpage_collapse_scan_file
Date: Tue, 16 Apr 2024 16:07:41 -0700	[thread overview]
Message-ID: <CAAa6QmS6Kw_E5wfabE1Sg8WHUXYYWsUo9e2KQNo-OiQVRDk-Ag@mail.gmail.com> (raw)
In-Reply-To: <CAAa6QmQ-fSNHu0VWQod+Cz89zOtQ9Ayet_2OEQsrp2zeCfos3A@mail.gmail.com>

On Tue, Apr 9, 2024 at 5:32 PM Zach O'Keefe <zokeefe@google.com> wrote:
>
> On Tue, Apr 9, 2024 at 4:46 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > On Tue, 09 Apr 2024 03:16:20 -0700 syzbot <syzbot+57adb2a4b9d206521bc2@syzkaller.appspotmail.com> wrote:
> >
> > > Hello,
> > >
> > > syzbot found the following issue on:
> > >
> > > HEAD commit:    8568bb2ccc27 Add linux-next specific files for 20240405
> > > git tree:       linux-next
> > > console+strace: https://syzkaller.appspot.com/x/log.txt?x=152f4805180000
> > > kernel config:  https://syzkaller.appspot.com/x/.config?x=48ca5acf8d2eb3bc
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=57adb2a4b9d206521bc2
> > > compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> > > syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1268258d180000
> > > C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=1256598d180000
> >
> > Help.  From a quick look this seems to be claiming that collapse_file()
> > got to
> >
> >         VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio);
> >
> > with folio==NULL, but the code look solid regarding this.
> >
> > Given that we have a reproducer, can we expect the bot to perform a
> > bisection for us?
> >
>
> I often don't see a successful automatic bisect, even with
> reproducers. Hit or miss. I will take a closer look tomorrow -- the
> reproducer doesn't look to be doing anything crazy.

I've only been able to reproduce this using the disk image provided by syzbot.

What is happening is we are calling MADV_COLLAPSE on an empty mapping
-- which actually reaches collapse_file() -> filemap_lock_folio()
after page_cache_sync_readahead() attempt. This of course fails
correctly, and I can see right before GPF that the returned pointer is
0xfffffffffffffffe, which is correctly ERR_PTR(-ENOENT). This should
be causing us to take the if (IS_ERR(folio)) {..} path .. but we
don't, and I don't know why. I haven't yet attempted to repro this
against other images. Will continue looking, but wanted to provide
some type of update -- even if it is a disappointing one -- so as to
not appear like I've disappeared.

Thanks,
Zach

> Thanks,
> Zach


  reply	other threads:[~2024-04-16 23:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09 10:16 syzbot
2024-04-09 23:46 ` Andrew Morton
2024-04-10  0:32   ` Zach O'Keefe
2024-04-16 23:07     ` Zach O'Keefe [this message]
2024-04-17 18:56       ` Zach O'Keefe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAa6QmS6Kw_E5wfabE1Sg8WHUXYYWsUo9e2KQNo-OiQVRDk-Ag@mail.gmail.com \
    --to=zokeefe@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=syzbot+57adb2a4b9d206521bc2@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox