diff --git a/fs/proc/page.c b/fs/proc/page.c index ee39b321f1c6..b3c1d7a7604d 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -148,8 +148,6 @@ u64 stable_page_flags(const struct page *page) const struct folio *folio; struct page_snapshot ps; unsigned long k; - unsigned long mapping; - bool is_anon; u64 u = 0; /* @@ -161,19 +159,16 @@ u64 stable_page_flags(const struct page *page) snapshot_page(&ps, page); folio = &ps.folio_snapshot; - k = folio->flags.f; - mapping = (unsigned long)folio->mapping; - is_anon = mapping & FOLIO_MAPPING_ANON; /* * pseudo flags for the well known (anonymous) memory mapped pages */ if (folio_mapped(folio)) u |= BIT_ULL(KPF_MMAP); - if (is_anon) { + if (folio_test_anon(folio)) { u |= BIT_ULL(KPF_ANON); - if ((mapping & FOLIO_MAPPING_FLAGS) == FOLIO_MAPPING_KSM) + if (folio_test_ksm(folio)) u |= BIT_ULL(KPF_KSM); } @@ -225,11 +220,10 @@ u64 stable_page_flags(const struct page *page) u |= kpf_copy_bit(k, KPF_ACTIVE, PG_active); u |= kpf_copy_bit(k, KPF_RECLAIM, PG_reclaim); -#define SWAPCACHE ((1 << PG_swapbacked) | (1 << PG_swapcache)) - if ((k & SWAPCACHE) == SWAPCACHE) + if (folio_test_swapcache(folio)) u |= BIT_ULL(KPF_SWAPCACHE); - u |= kpf_copy_bit(k, KPF_SWAPBACKED, PG_swapbacked); + u |= kpf_copy_bit(k, KPF_SWAPBACKED, PG_swapbacked); u |= kpf_copy_bit(k, KPF_UNEVICTABLE, PG_unevictable); u |= kpf_copy_bit(k, KPF_MLOCKED, PG_mlocked);