Commit d2f07ec0 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Linus Torvalds

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@infradead.org
Link: https://lkml.kernel.org/r/20210416231531.2521383-2-willy@infradead.orgSigned-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarVlastimil Babka <vbabka@suse.cz>
Reviewed-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: default avatarWilliam Kucharski <william.kucharski@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b19bd1c9
...@@ -9,8 +9,7 @@ struct page; ...@@ -9,8 +9,7 @@ struct page;
struct vm_area_struct; struct vm_area_struct;
struct mm_struct; struct mm_struct;
extern void dump_page(struct page *page, const char *reason); void dump_page(struct page *page, const char *reason);
extern void __dump_page(struct page *page, const char *reason);
void dump_vma(const struct vm_area_struct *vma); void dump_vma(const struct vm_area_struct *vma);
void dump_mm(const struct mm_struct *mm); void dump_mm(const struct mm_struct *mm);
......
...@@ -42,7 +42,7 @@ const struct trace_print_flags vmaflag_names[] = { ...@@ -42,7 +42,7 @@ const struct trace_print_flags vmaflag_names[] = {
{0, NULL} {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 page *head = compound_head(page);
struct address_space *mapping; struct address_space *mapping;
......
...@@ -658,8 +658,7 @@ static void bad_page(struct page *page, const char *reason) ...@@ -658,8 +658,7 @@ static void bad_page(struct page *page, const char *reason)
pr_alert("BUG: Bad page state in process %s pfn:%05lx\n", pr_alert("BUG: Bad page state in process %s pfn:%05lx\n",
current->comm, page_to_pfn(page)); current->comm, page_to_pfn(page));
__dump_page(page, reason); dump_page(page, reason);
dump_page_owner(page);
print_modules(); print_modules();
dump_stack(); dump_stack();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment