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
next prev parent 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