This patch series reworks the logic that handles swapping in page metadata to fix a reported bug [1] where metadata can sometimes not be swapped in correctly after commit c145e0b47c77 ("mm: streamline COW logic in do_swap_page()"). [1] https://lore.kernel.org/all/5050805753ac469e8d727c797c2218a9d780d434.camel@xxxxxxxxxxxx/ Peter Collingbourne (3): mm: Move arch_do_swap_page() call to before swap_free() mm: Call arch_swap_restore() from arch_do_swap_page() and deprecate the latter arm64: mte: Simplify swap tag restoration logic and fix uninitialized tag issue arch/arm64/include/asm/mte.h | 4 ++-- arch/arm64/include/asm/pgtable.h | 14 ++------------ arch/arm64/kernel/mte.c | 32 +++----------------------------- arch/arm64/mm/mteswap.c | 7 +++---- include/linux/pgtable.h | 26 +++++++++++++------------- mm/memory.c | 26 +++++++++++++------------- 6 files changed, 36 insertions(+), 73 deletions(-) -- 2.40.1.606.ga4b1b128d6-goog