[RESEND][PATCH 0/6] Constify struct page arguments

From: Matthew Wilcox (Oracle)
Date: Fri Apr 16 2021 - 19:16:04 EST


[I'm told that patches 2-6 did not make it to the list; resending and
cc'ing lkml this time]

While working on various solutions to the 32-bit struct page size
regression, one of the problems I found was the networking stack expects
to be able to pass const struct page pointers around, and the mm doesn't
provide a lot of const-friendly functions to call. The root tangle of
problems is that a lot of functions call VM_BUG_ON_PAGE(), which calls
dump_page(), which calls a lot of functions which don't take a const
struct page (but could be const).

I have other things I need to work on, but I offer these patches as a few
steps towards being able to make dump_page() take a const page pointer.

Matthew Wilcox (Oracle) (6):
mm: Make __dump_page static
mm/debug: Factor PagePoisoned out of __dump_page
mm/page_owner: Constify dump_page_owner
mm: Make compound_head const-preserving
mm: Constify get_pfnblock_flags_mask and get_pfnblock_migratetype
mm: Constify page_count and page_ref_count

include/linux/mmdebug.h | 3 +--
include/linux/page-flags.h | 10 +++++-----
include/linux/page_owner.h | 6 +++---
include/linux/page_ref.h | 4 ++--
include/linux/pageblock-flags.h | 2 +-
mm/debug.c | 25 +++++++------------------
mm/page_alloc.c | 16 ++++++++--------
mm/page_owner.c | 2 +-
8 files changed, 28 insertions(+), 40 deletions(-)

--
2.30.2