Re: [PATCH v4 00/13] mm/debug_vm_pgtable fixes
From: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Date: 2020-09-09 11:16:54
Also in:
linux-mm, linux-riscv, linux-s390
On Wed, 09 Sep 2020 11:38:39 +0530 "Aneesh Kumar K.V" [off-list ref] wrote:
Gerald Schaefer [off-list ref] writes:quoted
On Fri, 4 Sep 2020 18:01:15 +0200 Gerald Schaefer [off-list ref] wrote: [...]quoted
BTW2, a quick test with this change (so far) made the issues on s390 go away:@@ -1069,7 +1074,7 @@ static int __init debug_vm_pgtable(void) spin_unlock(ptl); #ifndef CONFIG_PPC_BOOK3S_64 - hugetlb_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot); + hugetlb_advanced_tests(mm, vma, (pte_t *) pmdp, pmd_aligned, vaddr, prot); #endif spin_lock(&mm->page_table_lock);That would more match the "pte_t pointer" usage for hugetlb code, i.e. just cast a pmd_t pointer to it. Also changed to pmd_aligned, but I think the root cause is the pte_t pointer. Not entirely sure though if that would really be the correct fix. I somehow lost whatever little track I had about what these tests really want to check, and if that would still be valid with that change.Uh oh, wasn't aware that this (or some predecessor) already went upstream, and broke our debug kernel today.Not sure i followed the above. Are you finding that s390 kernel crash after this patch series or the original patchset? As noted in my patch the hugetlb test is broken and we should fix that. A quick fix is to comment out that test for s390 too as i have done for PPC64.
We see it with both, it basically is broken since there is a hugetlb test using real pte pointers. It doesn't always show, depending on random vaddr, so it slipped through earlier testing. I guess we also would have had one or the other chance to notice that earlier, through better review, or better reading of previous mails. I must admit that I neglected this a bit.