]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf/core: use vma_is_initial_stack() and vma_is_initial_heap()
authorKefeng Wang <wangkefeng.wang@huawei.com>
Fri, 28 Jul 2023 05:00:43 +0000 (13:00 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 21 Aug 2023 20:37:32 +0000 (13:37 -0700)
Use the helpers to simplify code, also kill unneeded goto cpy_name.

Link: https://lkml.kernel.org/r/20230728050043.59880-5-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian Göttsche <cgzones@googlemail.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Eric Paris <eparis@parisplace.org>
Cc: Felix Kuehling <felix.kuehling@amd.com>
Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com>
Cc: Paul Moore <paul@paul-moore.com>
Cc: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
kernel/events/core.c

index 78ae7b6f90fdbf8c4b509ebba86eacc25f0050e8..e78751fee7fe278702cf95da5f9643b12b7a2f31 100644 (file)
@@ -8631,7 +8631,7 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event)
        unsigned int size;
        char tmp[16];
        char *buf = NULL;
-       char *name;
+       char *name = NULL;
 
        if (vma->vm_flags & VM_READ)
                prot |= PROT_READ;
@@ -8678,29 +8678,18 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event)
 
                goto got_name;
        } else {
-               if (vma->vm_ops && vma->vm_ops->name) {
+               if (vma->vm_ops && vma->vm_ops->name)
                        name = (char *) vma->vm_ops->name(vma);
-                       if (name)
-                               goto cpy_name;
+               if (!name)
+                       name = (char *)arch_vma_name(vma);
+               if (!name) {
+                       if (vma_is_initial_heap(vma))
+                               name = "[heap]";
+                       else if (vma_is_initial_stack(vma))
+                               name = "[stack]";
+                       else
+                               name = "//anon";
                }
-
-               name = (char *)arch_vma_name(vma);
-               if (name)
-                       goto cpy_name;
-
-               if (vma->vm_start <= vma->vm_mm->start_brk &&
-                               vma->vm_end >= vma->vm_mm->brk) {
-                       name = "[heap]";
-                       goto cpy_name;
-               }
-               if (vma->vm_start <= vma->vm_mm->start_stack &&
-                               vma->vm_end >= vma->vm_mm->start_stack) {
-                       name = "[stack]";
-                       goto cpy_name;
-               }
-
-               name = "//anon";
-               goto cpy_name;
        }
 
 cpy_name: