Skip to contentSkip to conversation

arm64 fixes for 6.18-rc3

GIT PULL Merged Catalin Marinas 2 participants 2 messages Oct 23, 2025

lore
Share & tools
lore
#0 lore raw

Hi Linus,

Please pull the arm64 fixes below. Thanks.

The following changes since commit ea0d55ae4b3207c33691a73da3443b1fd379f1d2:

arm64: debug: always unmask interrupts in el0_softstp() (2025-10-17 18:08:05 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux tags/arm64-fixes

for you to fetch changes up to b98c94eed4a975e0c80b7e90a649a46967376f58:

arm64: mte: Do not warn if the page is already tagged in copy_highpage() (2025-10-23 17:34:58 +0100)

----------------------------------------------------------------
arm64 fixes:

- Do not make a clean PTE dirty in pte_mkwrite()

The Arm architecture, for backwards compatibility reasons (ARMv8.0 before in-hardware dirty bit management - DBM), uses the PTE_RDONLY bit to mean !dirty while the PTE_WRITE bit means DBM enabled. The arm64 pte_mkwrite() simply clears the PTE_RDONLY bit and this inadvertently makes the PTE pte_hw_dirty(). Most places making a PTE writable also invoke pte_mkdirty() but do_swap_page() does not and we end up with dirty, freshly swapped in, writeable pages.

- Do not warn if the destination page is already MTE-tagged in copy_highpage()

In the majority of the cases, a destination page copied into is freshly allocated without the PG_mte_tagged flag set. However, the folio migration may be restarted if __folio_migrate_mapping() failed, triggering the benign WARN_ON_ONCE().

----------------------------------------------------------------
Catalin Marinas (1):
arm64: mte: Do not warn if the page is already tagged in copy_highpage()

Huang Ying (1):
arm64, mm: avoid always making PTE dirty in pte_mkwrite()

 arch/arm64/include/asm/pgtable.h |  3 ++-
 arch/arm64/mm/copypage.c         | 11 ++++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)
Signature · 1 line
Catalin