[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20211001170815.73321-1-eric.dumazet@gmail.com>
Date: Fri, 1 Oct 2021 10:08:15 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>,
Eric Dumazet <edumazet@...gle.com>,
Eric Dumazet <eric.dumazet@...il.com>,
Uladzislau Rezki <urezki@...il.com>,
Pengfei Li <lpf.vector@...il.com>
Subject: [PATCH] mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo
From: Eric Dumazet <edumazet@...gle.com>
If last va found in vmap_area_list does not have a vm pointer,
vmallocinfo.s_show() returns 0, and show_purge_info() is not called
as it should.
Fixes: dd3b8353bae7 ("mm/vmalloc: do not keep unpurged areas in the busy tree")
Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Cc: Uladzislau Rezki (Sony) <urezki@...il.com>
Cc: Pengfei Li <lpf.vector@...il.com>
---
mm/vmalloc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d77830ff604cab1796a96e31ad1423a790c61ca7..42219f3d12b567fc64f54cd3e2f1e3398e261a2c 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -3902,7 +3902,7 @@ static int s_show(struct seq_file *m, void *p)
(void *)va->va_start, (void *)va->va_end,
va->va_end - va->va_start);
- return 0;
+ goto final;
}
v = va->vm;
@@ -3943,6 +3943,7 @@ static int s_show(struct seq_file *m, void *p)
/*
* As a final step, dump "unpurged" areas.
*/
+final:
if (list_is_last(&va->list, &vmap_area_list))
show_purge_info(m);
--
2.33.0.800.g4c38ced690-goog
Powered by blists - more mailing lists