Re: [next] arm64: allmodconfig: kernel BUG at include/linux/page-flags.h:509

Beau Belgrave
2022-03-11T23:28:18Z

On Fri, Mar 11, 2022 at 06:15:00PM -0500, Steven Rostedt wrote:
> On Fri, 11 Mar 2022 10:13:28 -0800
> Beau Belgrave <beaub@linux.microsoft.com> wrote:
>
> > Is that true as well for the user process that has this mapped? Will the
> > user process virtual memory that maps to this ever page it out? I
> > believe that was the concern. My understanding is by reserving in
> > kernel, even though it won't page out on that side, marks the user side
> > entry to not let it page out.
>
> My memory of the purpose of SetPageReserve() is a bit fuzzy, and there's
> not much use of it in the kernel. Just a hand full. I'll try to investigate
> it some more.
>

OK, you know more than I, so hopefully we can land on if we really need
it or not. For now I've left it in.

> >
> > The other thing is that this patch applied to 5.10.X on ARM64 does not
> > appear to hit this. Is it some weird interaction with something else or
> > was 5.10.X just getting lucky?
>
> Perhaps it's because you allocated the page with kzalloc and not just
> getting a page directly?
>

Yeah, I think so too. I was able to repro locally and validate that using
alloc_pages directly fixes this by setting DEBUG_VM_PGFLAGS=y.

I've posted a patch for this:
https://lore.kernel.org/linux-trace-devel/20220311223028.1865-1-beaub@linux.microsoft.com/

> Again, my knowledge in this area is lacking. I'm looking more into it.
>
> -- Steve

Thanks,
-Beau