The patch titled Subject: mm: make __dump_page static has been added to the -mm tree. Its filename is mm-make-__dump_page-static.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-make-__dump_page-static.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-make-__dump_page-static.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> Subject: mm: make __dump_page static Patch series "Constify struct page arguments". 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). This patch (of 6): The only caller of __dump_page() now opencodes dump_page(), so remove it as an externally visible symbol. Link: https://lkml.kernel.org/r/20210416231531.2521383-1-willy@xxxxxxxxxxxxx Link: https://lkml.kernel.org/r/20210416231531.2521383-2-willy@xxxxxxxxxxxxx Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/mmdebug.h | 3 +-- mm/debug.c | 2 +- mm/page_alloc.c | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) --- a/include/linux/mmdebug.h~mm-make-__dump_page-static +++ a/include/linux/mmdebug.h @@ -9,8 +9,7 @@ struct page; struct vm_area_struct; struct mm_struct; -extern void dump_page(struct page *page, const char *reason); -extern void __dump_page(struct page *page, const char *reason); +void dump_page(struct page *page, const char *reason); void dump_vma(const struct vm_area_struct *vma); void dump_mm(const struct mm_struct *mm); --- a/mm/debug.c~mm-make-__dump_page-static +++ a/mm/debug.c @@ -42,7 +42,7 @@ const struct trace_print_flags vmaflag_n {0, NULL} }; -void __dump_page(struct page *page, const char *reason) +static void __dump_page(struct page *page, const char *reason) { struct page *head = compound_head(page); struct address_space *mapping; --- a/mm/page_alloc.c~mm-make-__dump_page-static +++ a/mm/page_alloc.c @@ -658,8 +658,7 @@ static void bad_page(struct page *page, pr_alert("BUG: Bad page state in process %s pfn:%05lx\n", current->comm, page_to_pfn(page)); - __dump_page(page, reason); - dump_page_owner(page); + dump_page(page, reason); print_modules(); dump_stack(); _ Patches currently in -mm which might be from willy@xxxxxxxxxxxxx are mm-make-__dump_page-static.patch mm-debug-factor-pagepoisoned-out-of-__dump_page.patch mm-page_owner-constify-dump_page_owner.patch mm-make-compound_head-const-preserving.patch mm-constify-get_pfnblock_flags_mask-and-get_pfnblock_migratetype.patch mm-constify-page_count-and-page_ref_count.patch