diff mbox series

mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo

Message ID 20211001170815.73321-1-eric.dumazet@gmail.com (mailing list archive)
State New
Headers show
Series mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo | expand

Commit Message

Eric Dumazet Oct. 1, 2021, 5:08 p.m. UTC
From: Eric Dumazet <edumazet@google.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@google.com>
Cc: Uladzislau Rezki (Sony) <urezki@gmail.com>
Cc: Pengfei Li <lpf.vector@gmail.com>
---
 mm/vmalloc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

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);