diff options
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/trace.c | 9 | 
1 files changed, 4 insertions, 5 deletions
| diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index bc36febc0771..7f86067d760c 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2815,10 +2815,6 @@ static struct file_operations tracing_mark_fops = {  #ifdef CONFIG_DYNAMIC_FTRACE -#define DYN_INFO_BUF_SIZE 1023 -static char ftrace_dyn_info_buffer[DYN_INFO_BUF_SIZE+1]; -static DEFINE_MUTEX(dyn_info_mutex); -  int __weak ftrace_arch_read_dyn_info(char *buf, int size)  {  	return 0; @@ -2828,14 +2824,17 @@ static ssize_t  tracing_read_dyn_info(struct file *filp, char __user *ubuf,  		  size_t cnt, loff_t *ppos)  { +	static char ftrace_dyn_info_buffer[1024]; +	static DEFINE_MUTEX(dyn_info_mutex);  	unsigned long *p = filp->private_data;  	char *buf = ftrace_dyn_info_buffer; +	int size = ARRAY_SIZE(ftrace_dyn_info_buffer);  	int r;  	mutex_lock(&dyn_info_mutex);  	r = sprintf(buf, "%ld ", *p); -	r += ftrace_arch_read_dyn_info(buf+r, DYN_INFO_BUF_SIZE-r); +	r += ftrace_arch_read_dyn_info(buf+r, (size-1)-r);  	buf[r++] = '\n';  	r = simple_read_from_buffer(ubuf, cnt, ppos, buf, r); | 
