aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/pci.c
diff options
context:
space:
mode:
authorDev Jain <[email protected]>2025-05-27 08:26:33 +0000
committerWill Deacon <[email protected]>2025-06-12 14:53:38 +0000
commit650768c512faba8070bf4cfbb28c95eb5cd203f3 (patch)
tree38041388a01f8aeb23a71603ef37210b4d128fd8 /rust/helpers/pci.c
parentdocs: arm64: Fix ICC_SRE_EL2 register typo in booting.rst (diff)
downloadkernel-650768c512faba8070bf4cfbb28c95eb5cd203f3.tar.gz
kernel-650768c512faba8070bf4cfbb28c95eb5cd203f3.zip
arm64: Restrict pagetable teardown to avoid false warning
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 caller only checks pud_present(); pud_free_pmd_page() recurses on each pmd through pmd_free_pte_page(), wherein the pmd may be none. Thus it is possible to hit a warning in the latter, since pmd_none => !pmd_table(). Thus, add a pmd_present() check in pud_free_pmd_page(). This problem was found by code inspection. Fixes: 9c006972c3fe ("arm64: mmu: drop pXd_present() checks from pXd_free_pYd_table()") Cc: [email protected] Reported-by: Ryan Roberts <[email protected]> Acked-by: David Hildenbrand <[email protected]> Signed-off-by: Dev Jain <[email protected]> Reviewed-by: Catalin Marinas <[email protected]> Reviewed-by: Anshuman Khandual <[email protected]> Reviewed-by: Ryan Roberts <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'rust/helpers/pci.c')
0 files changed, 0 insertions, 0 deletions