linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] mm: Fix bug affecting swapping in MTE tagged pages
@ 2023-05-23  0:43 Peter Collingbourne
  2023-05-23  0:43 ` [PATCH v4 1/3] mm: Call arch_swap_restore() from do_swap_page() Peter Collingbourne
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Peter Collingbourne @ 2023-05-23  0:43 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Peter Collingbourne, Qun-wei Lin (林群崴),
	linux-arm-kernel, linux-mm, linux-kernel, surenb, david,
	Chinwen Chang (張錦文),
	kasan-dev, Kuan-Ying Lee (李冠穎),
	Casper Li (李中榮),
	gregkh, vincenzo.frascino, Alexandru Elisei, will, eugenis,
	Steven Price

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()").

- Patch 1 fixes the bug itself, but still requires architectures
  to restore metadata in both arch_swap_restore() and set_pte_at().

- Patch 2 makes it so that architectures only need to restore metadata
  in arch_swap_restore().

- Patch 3 changes arm64 to remove support for restoring metadata
  in set_pte_at().

[1] https://lore.kernel.org/all/5050805753ac469e8d727c797c2218a9d780d434.camel@mediatek.com/

v4:
- Rebased onto v6.4-rc3
- Reverted change to arch/arm64/mm/mteswap.c; this change was not
  valid because swapcache pages can have arch_swap_restore() called
  on them multiple times

v3:
- Added patch to call arch_swap_restore() from unuse_pte()
- Rebased onto arm64/for-next/fixes

v2:
- Call arch_swap_restore() directly instead of via arch_do_swap_page()

Peter Collingbourne (3):
  mm: Call arch_swap_restore() from do_swap_page()
  mm: Call arch_swap_restore() from unuse_pte()
  arm64: mte: Simplify swap tag restoration logic

 arch/arm64/include/asm/mte.h     |  4 ++--
 arch/arm64/include/asm/pgtable.h | 14 ++----------
 arch/arm64/kernel/mte.c          | 37 ++++++--------------------------
 mm/memory.c                      |  7 ++++++
 mm/swapfile.c                    |  7 ++++++
 5 files changed, 25 insertions(+), 44 deletions(-)

-- 
2.40.1.698.g37aff9b760-goog



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-07-03 15:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-23  0:43 [PATCH v4 0/3] mm: Fix bug affecting swapping in MTE tagged pages Peter Collingbourne
2023-05-23  0:43 ` [PATCH v4 1/3] mm: Call arch_swap_restore() from do_swap_page() Peter Collingbourne
     [not found]   ` <20230605140554.GC21212@willie-the-truck>
     [not found]     ` <CAMn1gO4k=rg96GVsPW6Aaz12c7hS0TYcgVR7y38x7pUsbfwg5A@mail.gmail.com>
2023-06-29  9:57       ` Catalin Marinas
2023-07-02 19:38         ` Andrew Morton
2023-07-03 15:05           ` Catalin Marinas
2023-05-23  0:43 ` [PATCH v4 2/3] mm: Call arch_swap_restore() from unuse_pte() Peter Collingbourne
2023-05-23  0:43 ` [PATCH v4 3/3] arm64: mte: Simplify swap tag restoration logic Peter Collingbourne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox