aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 83e08b78dbee..c3aabb576fe5 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -6719,11 +6719,13 @@ tracing_snapshot_write(struct file *filp, const char __user *ubuf, size_t cnt,
6719 break; 6719 break;
6720 } 6720 }
6721#endif 6721#endif
6722 if (!tr->allocated_snapshot) { 6722 if (tr->allocated_snapshot)
6723 ret = resize_buffer_duplicate_size(&tr->max_buffer,
6724 &tr->trace_buffer, iter->cpu_file);
6725 else
6723 ret = tracing_alloc_snapshot_instance(tr); 6726 ret = tracing_alloc_snapshot_instance(tr);
6724 if (ret < 0) 6727 if (ret < 0)
6725 break; 6728 break;
6726 }
6727 local_irq_disable(); 6729 local_irq_disable();
6728 /* Now, we're going to swap */ 6730 /* Now, we're going to swap */
6729 if (iter->cpu_file == RING_BUFFER_ALL_CPUS) 6731 if (iter->cpu_file == RING_BUFFER_ALL_CPUS)
@@ -7126,12 +7128,24 @@ static ssize_t tracing_err_log_write(struct file *file,
7126 return count; 7128 return count;
7127} 7129}
7128 7130
7131static int tracing_err_log_release(struct inode *inode, struct file *file)
7132{
7133 struct trace_array *tr = inode->i_private;
7134
7135 trace_array_put(tr);
7136
7137 if (file->f_mode & FMODE_READ)
7138 seq_release(inode, file);
7139
7140 return 0;
7141}
7142
7129static const struct file_operations tracing_err_log_fops = { 7143static const struct file_operations tracing_err_log_fops = {
7130 .open = tracing_err_log_open, 7144 .open = tracing_err_log_open,
7131 .write = tracing_err_log_write, 7145 .write = tracing_err_log_write,
7132 .read = seq_read, 7146 .read = seq_read,
7133 .llseek = seq_lseek, 7147 .llseek = seq_lseek,
7134 .release = tracing_release_generic_tr, 7148 .release = tracing_err_log_release,
7135}; 7149};
7136 7150
7137static int tracing_buffers_open(struct inode *inode, struct file *filp) 7151static int tracing_buffers_open(struct inode *inode, struct file *filp)