Replace use of the legacy vm_flags_t flags with vma_flags_t values in the
perf mmap and mmap event logic.

No functional change intended.

Signed-off-by: Lorenzo Stoakes (ARM) <[email protected]>
---
 kernel/events/core.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index 457d75ea7142..6bc5dfacfa48 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7224,6 +7224,7 @@ static int map_range(struct perf_buffer *rb, struct 
vm_area_struct *vma)
                unsigned long va = vma->vm_start + PAGE_SIZE * pagenum;
                struct page *page = perf_mmap_to_page(rb,
                                vma_start_pgoff(vma) + pagenum);
+               vma_flags_t vma_flags = vma->flags;
 
                if (page == NULL) {
                        err = -EINVAL;
@@ -7231,8 +7232,9 @@ static int map_range(struct perf_buffer *rb, struct 
vm_area_struct *vma)
                }
 
                /* Map readonly, perf_mmap_pfn_mkwrite() called on write fault. 
*/
+               vma_flags_clear(&vma_flags, VMA_SHARED_BIT);
                err = remap_pfn_range(vma, va, page_to_pfn(page), PAGE_SIZE,
-                                     vm_get_page_prot(vma->vm_flags & 
~VM_SHARED));
+                                     vma_flags_to_page_prot(vma_flags));
                if (err)
                        break;
        }
@@ -7350,7 +7352,7 @@ static int perf_mmap_rb(struct vm_area_struct *vma, 
struct perf_event *event,
        if (!perf_mmap_calc_limits(vma, &user_extra, &extra))
                return -EPERM;
 
-       if (vma->vm_flags & VM_WRITE)
+       if (vma_test(vma, VMA_WRITE_BIT))
                rb_flags |= RING_BUFFER_WRITABLE;
 
        rb = rb_alloc(nr_pages,
@@ -7431,7 +7433,7 @@ static int perf_mmap_aux(struct vm_area_struct *vma, 
struct perf_event *event,
 
                WARN_ON(!rb && event->rb);
 
-               if (vma->vm_flags & VM_WRITE)
+               if (vma_test(vma, VMA_WRITE_BIT))
                        rb_flags |= RING_BUFFER_WRITABLE;
 
                ret = rb_alloc_aux(rb, event, pgoff_start, nr_pages,
@@ -7466,7 +7468,7 @@ static int perf_mmap(struct file *file, struct 
vm_area_struct *vma)
        if (event->cpu == -1 && event->attr.inherit)
                return -EINVAL;
 
-       if (!(vma->vm_flags & VM_SHARED))
+       if (!vma_test(vma, VMA_SHARED_BIT))
                return -EINVAL;
 
        ret = security_perf_event_read(event);
@@ -9829,7 +9831,7 @@ static int perf_event_mmap_match(struct perf_event *event,
 {
        struct perf_mmap_event *mmap_event = data;
        struct vm_area_struct *vma = mmap_event->vma;
-       int executable = vma->vm_flags & VM_EXEC;
+       bool executable = vma_test(vma, VMA_EXEC_BIT);
 
        return (!executable && event->attr.mmap_data) ||
               (executable && (event->attr.mmap || event->attr.mmap2));
@@ -9862,7 +9864,7 @@ static void perf_event_mmap_output(struct perf_event 
*event,
                if (use_build_id)
                        misc |= PERF_RECORD_MISC_MMAP_BUILD_ID;
        }
-       if (!(mmap_event->vma->vm_flags & VM_EXEC))
+       if (!vma_test(mmap_event->vma, VMA_EXEC_BIT))
                misc |= PERF_RECORD_MISC_MMAP_DATA;
 
        perf_event_header__init(&mmap_event->event_id.header, &sample,
@@ -9913,19 +9915,19 @@ static void perf_event_mmap_event(struct 
perf_mmap_event *mmap_event)
        char *buf = NULL;
        char *name = NULL;
 
-       if (vma->vm_flags & VM_READ)
+       if (vma_test(vma, VMA_READ_BIT))
                prot |= PROT_READ;
-       if (vma->vm_flags & VM_WRITE)
+       if (vma_test(vma, VMA_WRITE_BIT))
                prot |= PROT_WRITE;
-       if (vma->vm_flags & VM_EXEC)
+       if (vma_test(vma, VMA_EXEC_BIT))
                prot |= PROT_EXEC;
 
-       if (vma->vm_flags & VM_MAYSHARE)
+       if (vma_test(vma, VMA_MAYSHARE_BIT))
                flags = MAP_SHARED;
        else
                flags = MAP_PRIVATE;
 
-       if (vma->vm_flags & VM_LOCKED)
+       if (vma_test(vma, VMA_LOCKED_BIT))
                flags |= MAP_LOCKED;
        if (vma_is_hugetlb(vma))
                flags |= MAP_HUGETLB;
@@ -10091,7 +10093,7 @@ static void perf_addr_filters_adjust(struct 
vm_area_struct *vma)
         * Data tracing isn't supported yet and as such there is no need
         * to keep track of anything that isn't related to executable code:
         */
-       if (!(vma->vm_flags & VM_EXEC))
+       if (!vma_test(vma, VMA_EXEC_BIT))
                return;
 
        rcu_read_lock();

-- 
2.56.0


Reply via email to