diff mbox series

[v2] mm/debug: Fix minor issues in mm

Message ID 20250312032344.297946-1-liuye@kylinos.cn (mailing list archive)
State New
Headers show
Series [v2] mm/debug: Fix minor issues in mm | expand

Commit Message

Liu Ye March 12, 2025, 3:23 a.m. UTC
This patch includes several minor fixes:

- Simplify compound page judgment conditions.
- Missing a newline character at the end of the format string.

Each change is independent.

Signed-off-by: Liu Ye <liuye@kylinos.cn>

---
V2 : drop Fix out-of-bounds access in page_type_name().
---
---
 mm/debug.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Oscar Salvador March 12, 2025, 8:37 a.m. UTC | #1
On Wed, Mar 12, 2025 at 11:23:44AM +0800, Liu Ye wrote:
> This patch includes several minor fixes:
> 
> - Simplify compound page judgment conditions.
> - Missing a newline character at the end of the format string.
> 
> Each change is independent.

If each change is indepenent, send a patch per change.

Also CC Willy since he has been dealing with __dump_page lately.
Matthew Wilcox March 12, 2025, 12:20 p.m. UTC | #2
On Wed, Mar 12, 2025 at 11:23:44AM +0800, Liu Ye wrote:
> - Simplify compound page judgment conditions.

> @@ -132,15 +132,15 @@ static void __dump_page(const struct page *page)
>  again:
>  	memcpy(&precise, page, sizeof(*page));
>  	head = precise.compound_head;
> -	if ((head & 1) == 0) {
> +	if (head & 1) {
> +		foliop = (struct folio *)(head - 1);
> +		idx = folio_page_idx(foliop, page);
> +	} else {
>  		foliop = (struct folio *)&precise;
>  		idx = 0;
>  		if (!folio_test_large(foliop))
>  			goto dump;
>  		foliop = (struct folio *)page;
> -	} else {
> -		foliop = (struct folio *)(head - 1);
> -		idx = folio_page_idx(foliop, page);
>  	}
>  
>  	if (idx < MAX_FOLIO_NR_PAGES) {

How is this "simpler"?  It seems like churn for the sake of churn.
NACK.
diff mbox series

Patch

diff --git a/mm/debug.c b/mm/debug.c
index 8d2acf432385..544b2b05c567 100644
--- a/mm/debug.c
+++ b/mm/debug.c
@@ -132,15 +132,15 @@  static void __dump_page(const struct page *page)
 again:
 	memcpy(&precise, page, sizeof(*page));
 	head = precise.compound_head;
-	if ((head & 1) == 0) {
+	if (head & 1) {
+		foliop = (struct folio *)(head - 1);
+		idx = folio_page_idx(foliop, page);
+	} else {
 		foliop = (struct folio *)&precise;
 		idx = 0;
 		if (!folio_test_large(foliop))
 			goto dump;
 		foliop = (struct folio *)page;
-	} else {
-		foliop = (struct folio *)(head - 1);
-		idx = folio_page_idx(foliop, page);
 	}
 
 	if (idx < MAX_FOLIO_NR_PAGES) {
@@ -165,7 +165,7 @@  static void __dump_page(const struct page *page)
 void dump_page(const struct page *page, const char *reason)
 {
 	if (PagePoisoned(page))
-		pr_warn("page:%p is uninitialized and poisoned", page);
+		pr_warn("page:%p is uninitialized and poisoned\n", page);
 	else
 		__dump_page(page);
 	if (reason)