diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 23de3719f495..c74ba9c8c98e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -8251,12 +8251,14 @@ static int tracing_buffers_mmap(struct file *filp, struct vm_area_struct *vma) return ret; ret = ring_buffer_map(iter->array_buffer->buffer, iter->cpu_file, vma); - if (ret) + if (ret) { put_snapshot_map(iter->tr); + return ret; + } vma->vm_ops = &tracing_buffers_vmops; - return ret; + return 0; } static const struct file_operations tracing_buffers_fops = {