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