[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: 650768c512faba8070bf4cfbb28c95eb5cd203f3
Status in newer kernel trees: 6.15.y | Present (different SHA1: 1d03bbcb2b98) 6.12.y | Present (different SHA1: 47f34289d100) 6.6.y | Present (different SHA1: 6562806f3200) 6.1.y | Not found
Note: The patch differs from the upstream commit: --- 1: 650768c512fab ! 1: fe24ec1815e3d arm64: Restrict pagetable teardown to avoid false warning @@ Metadata ## Commit message ## arm64: Restrict pagetable teardown to avoid false warning
+ [Commit 650768c512faba8070bf4cfbb28c95eb5cd203f3 upstream] + Commit 9c006972c3fe ("arm64: mmu: drop pXd_present() checks from pXd_free_pYd_table()") removes the pxd_present() checks because the caller checks pxd_present(). But, in case of vmap_try_huge_pud(), the @@ Commit message Reviewed-by: Ryan Roberts ryan.roberts@arm.com Link: https://lore.kernel.org/r/20250527082633.61073-1-dev.jain@arm.com Signed-off-by: Will Deacon will@kernel.org + (cherry picked from commit 650768c512faba8070bf4cfbb28c95eb5cd203f3) + (use READ_ONCE since pmdp_get() is not defined)
## arch/arm64/mm/mmu.c ## @@ arch/arm64/mm/mmu.c: int pud_free_pmd_page(pud_t *pudp, unsigned long addr) @@ arch/arm64/mm/mmu.c: int pud_free_pmd_page(pud_t *pudp, unsigned long addr) end = addr + PUD_SIZE; do { - pmd_free_pte_page(pmdp, next); -+ if (pmd_present(pmdp_get(pmdp))) ++ if (pmd_present(READ_ONCE(*pmdp))) + pmd_free_pte_page(pmdp, next); } while (pmdp++, next += PMD_SIZE, next != end);
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-5.15.y | Success | Success |