Re: [BUG] WARNING: CPU: 3 PID: 1 at mm/debug_vm_pgtable.c:493

From: Linus Torvalds
Date: Fri Oct 22 2021 - 15:34:38 EST


On Fri, Oct 22, 2021 at 2:38 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> It finally triggered again. And this time with this patch applied. But I
> don't see the added printks anywhere in the dmesg.

That's strange. Those printk's were added in the only places that do a
"return 0".

Ok, there's also the dummy pud_set_huge() inline function that
unconditionally returns zero, but that's only if you don't have
CONFIG_HAVE_ARCH_HUGE_VMAP enabled. And then the testing code is
disabled too.

> [ 178.714431] debug_vm_pgtable: [debug_vm_pgtable ]: Validating architecture page table helpers
> [ 178.723726] ------------[ cut here ]------------
> [ 178.728389] WARNING: CPU: 2 PID: 1 at mm/debug_vm_pgtable.c:492 pud_huge_tests+0x42/0x68

That's literally that

WARN_ON(!pud_set_huge(..));

and pud_set_huge() has two 'return 0' (and one 'return 1') and that
patch added debug-printing to both of them.

Oh, it shouldn't have been a pr_debug() that gets suppressed. It
should have been a pr_warn() or something.

My bad.

Linus