diff options
author | Ryan Roberts <ryan.roberts@arm.com> | 2025-02-26 15:06:53 +0300 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2025-02-27 20:40:58 +0300 |
commit | eed6bfa8b28230382b797a88569f2c7569a1a419 (patch) | |
tree | 9b4ff6d022ee2bba9dc67aa5086397d8425ceba6 /lib/zstd/common/zstd_common.c | |
parent | 49c87f7677746f3c5bd16c81b23700bb6b88bfd4 (diff) | |
download | linux-eed6bfa8b28230382b797a88569f2c7569a1a419.tar.xz |
arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level
commit c910f2b65518 ("arm64/mm: Update tlb invalidation routines for
FEAT_LPA2") changed the "invalidation level unknown" hint from 0 to
TLBI_TTL_UNKNOWN (INT_MAX). But the fallback "unknown level" path in
flush_hugetlb_tlb_range() was not updated. So as it stands, when trying
to invalidate CONT_PMD_SIZE or CONT_PTE_SIZE hugetlb mappings, we will
spuriously try to invalidate at level 0 on LPA2-enabled systems.
Fix this so that the fallback passes TLBI_TTL_UNKNOWN, and while we are
at it, explicitly use the correct stride and level for CONT_PMD_SIZE and
CONT_PTE_SIZE, which should provide a minor optimization.
Cc: stable@vger.kernel.org
Fixes: c910f2b65518 ("arm64/mm: Update tlb invalidation routines for FEAT_LPA2")
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Link: https://lore.kernel.org/r/20250226120656.2400136-4-ryan.roberts@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'lib/zstd/common/zstd_common.c')
0 files changed, 0 insertions, 0 deletions