mm/page_alloc.c: rename check_free_page() to free_page_is_bad()

The name "check_free_page()" provides no information regarding its return
value when the page is indeed found to be bad.

Renaming it to "free_page_is_bad()" makes it clear that a `true' return
value means the page was bad.

And make it return a bool, not an int.

[akpm@linux-foundation.org: don't use bool as int]
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: ke.wang <ke.wang@unisoc.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Zhaoyang Huang <huangzhaoyang@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Andrew Morton 2022-09-13 15:20:48 -07:00
parent 4988fe6952
commit a8368cd8e2
1 changed files with 10 additions and 10 deletions

View File

@ -1285,20 +1285,20 @@ static const char *page_bad_reason(struct page *page, unsigned long flags)
return bad_reason; return bad_reason;
} }
static void check_free_page_bad(struct page *page) static void free_page_is_bad_report(struct page *page)
{ {
bad_page(page, bad_page(page,
page_bad_reason(page, PAGE_FLAGS_CHECK_AT_FREE)); page_bad_reason(page, PAGE_FLAGS_CHECK_AT_FREE));
} }
static inline int check_free_page(struct page *page) static inline bool free_page_is_bad(struct page *page)
{ {
if (likely(page_expected_state(page, PAGE_FLAGS_CHECK_AT_FREE))) if (likely(page_expected_state(page, PAGE_FLAGS_CHECK_AT_FREE)))
return 0; return false;
/* Something has gone sideways, find it */ /* Something has gone sideways, find it */
check_free_page_bad(page); free_page_is_bad_report(page);
return 1; return true;
} }
static int free_tail_pages_check(struct page *head_page, struct page *page) static int free_tail_pages_check(struct page *head_page, struct page *page)
@ -1430,7 +1430,7 @@ static __always_inline bool free_pages_prepare(struct page *page,
for (i = 1; i < (1 << order); i++) { for (i = 1; i < (1 << order); i++) {
if (compound) if (compound)
bad += free_tail_pages_check(page, page + i); bad += free_tail_pages_check(page, page + i);
if (unlikely(check_free_page(page + i))) { if (unlikely(free_page_is_bad(page + i))) {
bad++; bad++;
continue; continue;
} }
@ -1441,8 +1441,8 @@ static __always_inline bool free_pages_prepare(struct page *page,
page->mapping = NULL; page->mapping = NULL;
if (memcg_kmem_enabled() && PageMemcgKmem(page)) if (memcg_kmem_enabled() && PageMemcgKmem(page))
__memcg_kmem_uncharge_page(page, order); __memcg_kmem_uncharge_page(page, order);
if (check_free) if (check_free && free_page_is_bad(page))
bad += check_free_page(page); bad++;
if (bad) if (bad)
return false; return false;
@ -1504,7 +1504,7 @@ static bool free_pcp_prepare(struct page *page, unsigned int order)
static bool bulkfree_pcp_prepare(struct page *page) static bool bulkfree_pcp_prepare(struct page *page)
{ {
if (debug_pagealloc_enabled_static()) if (debug_pagealloc_enabled_static())
return check_free_page(page); return free_page_is_bad(page);
else else
return false; return false;
} }
@ -1525,7 +1525,7 @@ static bool free_pcp_prepare(struct page *page, unsigned int order)
static bool bulkfree_pcp_prepare(struct page *page) static bool bulkfree_pcp_prepare(struct page *page)
{ {
return check_free_page(page); return free_page_is_bad(page);
} }
#endif /* CONFIG_DEBUG_VM */ #endif /* CONFIG_DEBUG_VM */