arm64 fixes for 6.18-rc3
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
The pull request you sent on Thu, 23 Oct 2025 19:00:05 +0100:
The pull request you sent on Thu, 23 Oct 2025 19:00:05 +0100:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linuxtags/arm64-fixes
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/266ee584e55eed108583ab4f45b5de734522502d
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html