#syz test

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 23de3719f495..72b39295a8b0 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -8213,6 +8213,14 @@ static inline int get_snapshot_map(struct trace_array 
*tr) { return 0; }
 static inline void put_snapshot_map(struct trace_array *tr) { }
 #endif
 
+static void tracing_buffers_mmap_open(struct vm_area_struct *vma)
+{
+       struct ftrace_buffer_info *info = vma->vm_file->private_data;
+       struct trace_iterator *iter = &info->iter;
+
+       WARN_ON(ring_buffer_map(iter->array_buffer->buffer, iter->cpu_file, 
vma));
+}
+
 static void tracing_buffers_mmap_close(struct vm_area_struct *vma)
 {
        struct ftrace_buffer_info *info = vma->vm_file->private_data;
@@ -8232,6 +8240,7 @@ static int tracing_buffers_may_split(struct 
vm_area_struct *vma, unsigned long a
 }
 
 static const struct vm_operations_struct tracing_buffers_vmops = {
+       .open           = tracing_buffers_mmap_open,
        .close          = tracing_buffers_mmap_close,
        .may_split      = tracing_buffers_may_split,
 };


Reply via email to