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

From: Beau Belgrave <[email-masked]>
Date: Fri, 11 Mar 2022 15:28:09 -0800

On Fri, Mar 11, 2022 at 06:15:00PM -0500, Steven Rostedt wrote:
> On Fri, 11 Mar 2022 10:13:28 -0800
> Beau Belgrave <[email-masked]> 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/[email-masked]/

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

Thanks,
-Beau