The quilt patch titled Subject: mm: call arch_swap_restore() from unuse_pte() has been removed from the -mm tree. Its filename was mm-call-arch_swap_restore-from-unuse_pte.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Peter Collingbourne <pcc@xxxxxxxxxx> Subject: mm: call arch_swap_restore() from unuse_pte() Date: Mon, 22 May 2023 17:43:09 -0700 We would like to move away from requiring architectures to restore metadata from swap in the set_pte_at() implementation, as this is not only error-prone but adds complexity to the arch-specific code. This requires us to call arch_swap_restore() before calling swap_free() whenever pages are restored from swap. We are currently doing so everywhere except in unuse_pte(); do so there as well. Link: https://lkml.kernel.org/r/20230523004312.1807357-3-pcc@xxxxxxxxxx Link: https://linux-review.googlesource.com/id/I68276653e612d64cde271ce1b5a99ae05d6bbc4f Signed-off-by: Peter Collingbourne <pcc@xxxxxxxxxx> Suggested-by: David Hildenbrand <david@xxxxxxxxxx> Acked-by: David Hildenbrand <david@xxxxxxxxxx> Acked-by: "Huang, Ying" <ying.huang@xxxxxxxxx> Reviewed-by: Steven Price <steven.price@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Alexandru Elisei <alexandru.elisei@xxxxxxx> Cc: Chinwen Chang <chinwen.chang@xxxxxxxxxxxx> Cc: Evgenii Stepanov <eugenis@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Cc: "Kuan-Ying Lee (æ??å? ç©?)" <Kuan-Ying.Lee@xxxxxxxxxxxx> Cc: Qun-Wei Lin <qun-wei.lin@xxxxxxxxxxxx> Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx> Cc: Vincenzo Frascino <vincenzo.frascino@xxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/swapfile.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/mm/swapfile.c~mm-call-arch_swap_restore-from-unuse_pte +++ a/mm/swapfile.c @@ -1778,6 +1778,13 @@ static int unuse_pte(struct vm_area_stru goto setpte; } + /* + * Some architectures may have to restore extra metadata to the page + * when reading from swap. This metadata may be indexed by swap entry + * so this must be called before swap_free(). + */ + arch_swap_restore(entry, page_folio(page)); + /* See do_swap_page() */ BUG_ON(!PageAnon(page) && PageMappedToDisk(page)); BUG_ON(PageAnon(page) && PageAnonExclusive(page)); _ Patches currently in -mm which might be from pcc@xxxxxxxxxx are