Commit 9c7a682c authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Kefeng Wang
Browse files

mprotect: use pfn_swap_entry_folio

mainline inclusion
from mainline-v6.9-rc1
commit f2d571b0b207087442d1c3fca5189ee1cb34648e
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9CHB4
CVE: NA

-------------------------------------------------

We only want to know whether the folio is anonymous, so use
pfn_swap_entry_folio() and save a call to compound_head().

Link: https://lkml.kernel.org/r/20240111152429.3374566-4-willy@infradead.org


Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
(cherry picked from commit f2d571b0b207087442d1c3fca5189ee1cb34648e)
Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
parent 42667f75
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -198,13 +198,13 @@ static long change_pte_range(struct mmu_gather *tlb,
			pte_t newpte;

			if (is_writable_migration_entry(entry)) {
				struct page *page = pfn_swap_entry_to_page(entry);
				struct folio *folio = pfn_swap_entry_folio(entry);

				/*
				 * A protection check is difficult so
				 * just be safe and disable write
				 */
				if (PageAnon(page))
				if (folio_test_anon(folio))
					entry = make_readable_exclusive_migration_entry(
							     swp_offset(entry));
				else