Re: [PATCH 0/1] mm/debug_vm_pgtable: fix alignment for pmd/pud_advanced_tests()

From: Anshuman Khandual
Date: Wed May 26 2021 - 00:23:54 EST




On 5/25/21 6:30 PM, Gerald Schaefer wrote:
> We sometimes see a "BUG task_struct (Not tainted): Padding overwritten"
> on s390, directly after running debug_vm_pgtable. This is because of
> wrong vaddr alignment in pmd/pud_advanced_tests(), leading to memory
> corruption at least on s390, see patch description.
>
> At first glance, other architectures do not seem to care about vaddr in
> their xxx_get_and_clear() implementations, so they should not be affected.

IIRC, alignment (regardless up or down) is the only requirement on certain
platforms. Probably it should not affect other platforms as this change
just aligns the virtual address down.

> One exception is sparc, where the addr is passed over to some tlb_batch
> code, but I'm not sure what implication the wrongly aligned vaddr would
> have in this case.
>
> Also adding linux-arch, just to make sure.

Right. Not sure if this test gets to run on sparc platform for not being
currently supported. But we could take a look if there are any reported
problems because of vaddr.

>
> Gerald Schaefer (1):
> mm/debug_vm_pgtable: fix alignment for pmd/pud_advanced_tests()
>
> mm/debug_vm_pgtable.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>