2022-05-30 08:09:32

by Zorro Lang

[permalink] [raw]
Subject: Potential regression on kernel 5.19-rc0: kernel BUG at mm/page_table_check.c:51!

Hi mm folks:

I reported a regression bug on latest upstream linux:
https://bugzilla.kernel.org/show_bug.cgi?id=216047

It's about xfs/ext4 + DAX, panic at mm/page_table_check.c:51!

static struct page_table_check *get_page_table_check(struct page_ext *page_ext)
{
==> BUG_ON(!page_ext);
return (void *)(page_ext) + page_table_check_ops.offset;
}

It's 100% reproducible for me, by running fstests generic/623:
https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/tests/generic/623
on xfs or ext4 with DAX enabled.

It doesn't look like a xfs or ext4 issue, so send to linux-mm to get more
reviewing. More details please refer to above bug link. I changed its Pruduct
to mm, but the Assignee isn't changed by default.

Thanks,
Zorro



2022-05-31 10:09:50

by Matthew Wilcox

[permalink] [raw]
Subject: Re: Potential regression on kernel 5.19-rc0: kernel BUG at mm/page_table_check.c:51!

On Tue, May 31, 2022 at 08:29:19AM +1000, Dave Chinner wrote:
> On Tue, May 31, 2022 at 02:39:08AM +0800, Zorro Lang wrote:
> > It's not a regression *recently* at least, I still can reproduce this bug on
> > linux v5.16.
> >
> > But I found it's related with someone kernel configuration (sorry I haven't
> > figured out which one config is). I've upload two kernel config files, one[1]
> > can build a kernel which reproduce this bug, the other[2] can't. Hope that
> > helps.
> >
> > Thanks,
> > Zorro
> >
> > [1]
> > https://bugzilla.kernel.org/attachment.cgi?id=301076
> >
> > [2]
> > https://bugzilla.kernel.org/attachment.cgi?id=301077
>
> Rather than make anyone looking at this download multiple files and
> run diff, perhaps you could just post the output of 'diff -u
> config.good config.bad'?

You guys know about tools/testing/ktest/config-bisect.pl right?

2022-05-31 15:00:55

by Dave Chinner

[permalink] [raw]
Subject: Re: Potential regression on kernel 5.19-rc0: kernel BUG at mm/page_table_check.c:51!

On Tue, May 31, 2022 at 02:39:08AM +0800, Zorro Lang wrote:
> On Mon, May 30, 2022 at 04:06:16PM +0800, Zorro Lang wrote:
> > Hi mm folks:
> >
> > I reported a regression bug on latest upstream linux:
> > https://bugzilla.kernel.org/show_bug.cgi?id=216047
> >
> > It's about xfs/ext4 + DAX, panic at mm/page_table_check.c:51!
> >
> > static struct page_table_check *get_page_table_check(struct page_ext *page_ext)
> > {
> > ==> BUG_ON(!page_ext);
> > return (void *)(page_ext) + page_table_check_ops.offset;
> > }
> >
> > It's 100% reproducible for me, by running fstests generic/623:
> > https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/tests/generic/623
> > on xfs or ext4 with DAX enabled.
> >
> > It doesn't look like a xfs or ext4 issue, so send to linux-mm to get more
> > reviewing. More details please refer to above bug link. I changed its Pruduct
> > to mm, but the Assignee isn't changed by default.
>
> It's not a regression *recently* at least, I still can reproduce this bug on
> linux v5.16.
>
> But I found it's related with someone kernel configuration (sorry I haven't
> figured out which one config is). I've upload two kernel config files, one[1]
> can build a kernel which reproduce this bug, the other[2] can't. Hope that
> helps.
>
> Thanks,
> Zorro
>
> [1]
> https://bugzilla.kernel.org/attachment.cgi?id=301076
>
> [2]
> https://bugzilla.kernel.org/attachment.cgi?id=301077

Rather than make anyone looking at this download multiple files and
run diff, perhaps you could just post the output of 'diff -u
config.good config.bad'?

Cheers,

Dave.
--
Dave Chinner
[email protected]

2022-05-31 18:24:16

by Zorro Lang

[permalink] [raw]
Subject: Re: Potential regression on kernel 5.19-rc0: kernel BUG at mm/page_table_check.c:51!

On Mon, May 30, 2022 at 04:06:16PM +0800, Zorro Lang wrote:
> Hi mm folks:
>
> I reported a regression bug on latest upstream linux:
> https://bugzilla.kernel.org/show_bug.cgi?id=216047
>
> It's about xfs/ext4 + DAX, panic at mm/page_table_check.c:51!
>
> static struct page_table_check *get_page_table_check(struct page_ext *page_ext)
> {
> ==> BUG_ON(!page_ext);
> return (void *)(page_ext) + page_table_check_ops.offset;
> }
>
> It's 100% reproducible for me, by running fstests generic/623:
> https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/tests/generic/623
> on xfs or ext4 with DAX enabled.
>
> It doesn't look like a xfs or ext4 issue, so send to linux-mm to get more
> reviewing. More details please refer to above bug link. I changed its Pruduct
> to mm, but the Assignee isn't changed by default.

It's not a regression *recently* at least, I still can reproduce this bug on
linux v5.16.

But I found it's related with someone kernel configuration (sorry I haven't
figured out which one config is). I've upload two kernel config files, one[1]
can build a kernel which reproduce this bug, the other[2] can't. Hope that
helps.

Thanks,
Zorro

[1]
https://bugzilla.kernel.org/attachment.cgi?id=301076

[2]
https://bugzilla.kernel.org/attachment.cgi?id=301077

>
> Thanks,
> Zorro