]> www.infradead.org Git - users/jedix/linux-maple.git/commit
arm64: mm: Drop redundant check in pmd_trans_huge()
authorGavin Shan <gshan@redhat.com>
Thu, 8 May 2025 08:52:51 +0000 (18:52 +1000)
committerWill Deacon <will@kernel.org>
Fri, 16 May 2025 14:10:13 +0000 (15:10 +0100)
commit13c63ce358832e01575d3b186210966e17f9ff68
treeddb45d1a13b65a6ccec6c1f80d69b2b2510d5ce9
parent1ef3095b14057c6898468e90184bd0942977fbad
arm64: mm: Drop redundant check in pmd_trans_huge()

pmd_val(pmd) is redundant because a positive pmd_present(pmd) ensures
a positive pmd_val(pmd) according to their definitions like below.

  #define pmd_val(x)       ((x).pmd)
  #define pmd_present(pmd) pte_present(pmd_pte(pmd))
  #define pte_present(pte) (pte_valid(pte) || pte_present_invalid(pte))
  #define pte_valid(pte)   (!!(pte_val(pte) & PTE_VALID))
  #define pte_present_invalid(pte) \
          ((pte_val(pte) & (PTE_VALID | PTE_PRESENT_INVALID)) == PTE_PRESENT_INVALID)

pte_present() can't be positive unless either of the flag PTE_VALID or
PTE_PRESENT_INVALID is set. In this case, pmd_val(pmd) should be positive
either.

So lets drop the redundant check pmd_val(pmd) and no functional changes
intended.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Dev Jain <dev.jain@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Link: https://lore.kernel.org/r/20250508085251.204282-1-gshan@redhat.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/pgtable.h