summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorBaoquan He <bhe@redhat.com>2023-02-06 09:40:17 +0100
committerAndrew Morton <akpm@linux-foundation.org>2023-02-10 01:51:43 +0100
commitbba9697b42ead45687352fdd0fd498735bc4361d (patch)
tree72c0bcb4e2cd3474ff06ab89cfb05dcb23b6a821 /mm
parentmm/vmalloc.c: allow vread() to read out vm_map_ram areas (diff)
downloadlinux-bba9697b42ead45687352fdd0fd498735bc4361d.tar.xz
linux-bba9697b42ead45687352fdd0fd498735bc4361d.zip
mm/vmalloc: explicitly identify vm_map_ram area when shown in /proc/vmcoreinfo
Now, by marking VMAP_RAM in vmap_area->flags for vm_map_ram area, we can clearly differentiate it with other vmalloc areas. So identify vm_map_area area by checking VMAP_RAM of vmap_area->flags when shown in /proc/vmcoreinfo. Meanwhile, the code comment above vm_map_ram area checking in s_show() is not needed any more, remove it here. Link: https://lkml.kernel.org/r/20230206084020.174506-5-bhe@redhat.com Signed-off-by: Baoquan He <bhe@redhat.com> Reviewed-by: Lorenzo Stoakes <lstoakes@gmail.com> Cc: Dan Carpenter <error27@gmail.com> Cc: Stephen Brennan <stephen.s.brennan@oracle.com> Cc: Uladzislau Rezki (Sony) <urezki@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/vmalloc.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 7188a47315c2..87d71c783646 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -4152,14 +4152,11 @@ static int s_show(struct seq_file *m, void *p)
va = list_entry(p, struct vmap_area, list);
- /*
- * s_show can encounter race with remove_vm_area, !vm on behalf
- * of vmap area is being tear down or vm_map_ram allocation.
- */
if (!va->vm) {
- seq_printf(m, "0x%pK-0x%pK %7ld vm_map_ram\n",
- (void *)va->va_start, (void *)va->va_end,
- va->va_end - va->va_start);
+ if (va->flags & VMAP_RAM)
+ seq_printf(m, "0x%pK-0x%pK %7ld vm_map_ram\n",
+ (void *)va->va_start, (void *)va->va_end,
+ va->va_end - va->va_start);
goto final;
}