diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/trace/ftrace.c | 5 | ||||
| -rw-r--r-- | kernel/trace/trace.c | 72 |
2 files changed, 39 insertions, 38 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 5e9389faaf75..97c40865a93e 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
| @@ -756,9 +756,11 @@ ftrace_avail_open(struct inode *inode, struct file *file) | |||
| 756 | ret = seq_open(file, &show_ftrace_seq_ops); | 756 | ret = seq_open(file, &show_ftrace_seq_ops); |
| 757 | if (!ret) { | 757 | if (!ret) { |
| 758 | struct seq_file *m = file->private_data; | 758 | struct seq_file *m = file->private_data; |
| 759 | |||
| 759 | m->private = iter; | 760 | m->private = iter; |
| 760 | } else | 761 | } else { |
| 761 | kfree(iter); | 762 | kfree(iter); |
| 763 | } | ||
| 762 | 764 | ||
| 763 | return ret; | 765 | return ret; |
| 764 | } | 766 | } |
| @@ -770,6 +772,7 @@ int ftrace_avail_release(struct inode *inode, struct file *file) | |||
| 770 | 772 | ||
| 771 | seq_release(inode, file); | 773 | seq_release(inode, file); |
| 772 | kfree(iter); | 774 | kfree(iter); |
| 775 | |||
| 773 | return 0; | 776 | return 0; |
| 774 | } | 777 | } |
| 775 | 778 | ||
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index b3811ca74071..4550afda9607 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
| @@ -1245,10 +1245,10 @@ static int s_show(struct seq_file *m, void *v) | |||
| 1245 | } | 1245 | } |
| 1246 | 1246 | ||
| 1247 | static struct seq_operations tracer_seq_ops = { | 1247 | static struct seq_operations tracer_seq_ops = { |
| 1248 | .start = s_start, | 1248 | .start = s_start, |
| 1249 | .next = s_next, | 1249 | .next = s_next, |
| 1250 | .stop = s_stop, | 1250 | .stop = s_stop, |
| 1251 | .show = s_show, | 1251 | .show = s_show, |
| 1252 | }; | 1252 | }; |
| 1253 | 1253 | ||
| 1254 | static struct trace_iterator notrace * | 1254 | static struct trace_iterator notrace * |
| @@ -1397,10 +1397,10 @@ static int t_show(struct seq_file *m, void *v) | |||
| 1397 | } | 1397 | } |
| 1398 | 1398 | ||
| 1399 | static struct seq_operations show_traces_seq_ops = { | 1399 | static struct seq_operations show_traces_seq_ops = { |
| 1400 | .start = t_start, | 1400 | .start = t_start, |
| 1401 | .next = t_next, | 1401 | .next = t_next, |
| 1402 | .stop = t_stop, | 1402 | .stop = t_stop, |
| 1403 | .show = t_show, | 1403 | .show = t_show, |
| 1404 | }; | 1404 | }; |
| 1405 | 1405 | ||
| 1406 | static int show_traces_open(struct inode *inode, struct file *file) | 1406 | static int show_traces_open(struct inode *inode, struct file *file) |
| @@ -1420,17 +1420,17 @@ static int show_traces_open(struct inode *inode, struct file *file) | |||
| 1420 | } | 1420 | } |
| 1421 | 1421 | ||
| 1422 | static struct file_operations tracing_fops = { | 1422 | static struct file_operations tracing_fops = { |
| 1423 | .open = tracing_open, | 1423 | .open = tracing_open, |
| 1424 | .read = seq_read, | 1424 | .read = seq_read, |
| 1425 | .llseek = seq_lseek, | 1425 | .llseek = seq_lseek, |
| 1426 | .release = tracing_release, | 1426 | .release = tracing_release, |
| 1427 | }; | 1427 | }; |
| 1428 | 1428 | ||
| 1429 | static struct file_operations tracing_lt_fops = { | 1429 | static struct file_operations tracing_lt_fops = { |
| 1430 | .open = tracing_lt_open, | 1430 | .open = tracing_lt_open, |
| 1431 | .read = seq_read, | 1431 | .read = seq_read, |
| 1432 | .llseek = seq_lseek, | 1432 | .llseek = seq_lseek, |
| 1433 | .release = tracing_release, | 1433 | .release = tracing_release, |
| 1434 | }; | 1434 | }; |
| 1435 | 1435 | ||
| 1436 | static struct file_operations show_traces_fops = { | 1436 | static struct file_operations show_traces_fops = { |
| @@ -1620,8 +1620,7 @@ tracing_set_trace_read(struct file *filp, char __user *ubuf, | |||
| 1620 | r = sprintf(buf, "\n"); | 1620 | r = sprintf(buf, "\n"); |
| 1621 | mutex_unlock(&trace_types_lock); | 1621 | mutex_unlock(&trace_types_lock); |
| 1622 | 1622 | ||
| 1623 | return simple_read_from_buffer(ubuf, cnt, ppos, | 1623 | return simple_read_from_buffer(ubuf, cnt, ppos, buf, r); |
| 1624 | buf, r); | ||
| 1625 | } | 1624 | } |
| 1626 | 1625 | ||
| 1627 | static ssize_t | 1626 | static ssize_t |
| @@ -1680,8 +1679,7 @@ tracing_max_lat_read(struct file *filp, char __user *ubuf, | |||
| 1680 | *ptr == (unsigned long)-1 ? -1 : nsecs_to_usecs(*ptr)); | 1679 | *ptr == (unsigned long)-1 ? -1 : nsecs_to_usecs(*ptr)); |
| 1681 | if (r > 64) | 1680 | if (r > 64) |
| 1682 | r = 64; | 1681 | r = 64; |
| 1683 | return simple_read_from_buffer(ubuf, cnt, ppos, | 1682 | return simple_read_from_buffer(ubuf, cnt, ppos, buf, r); |
| 1684 | buf, r); | ||
| 1685 | } | 1683 | } |
| 1686 | 1684 | ||
| 1687 | static ssize_t | 1685 | static ssize_t |
| @@ -1891,27 +1889,27 @@ tracing_read_pipe(struct file *filp, char __user *ubuf, | |||
| 1891 | } | 1889 | } |
| 1892 | 1890 | ||
| 1893 | static struct file_operations tracing_max_lat_fops = { | 1891 | static struct file_operations tracing_max_lat_fops = { |
| 1894 | .open = tracing_open_generic, | 1892 | .open = tracing_open_generic, |
| 1895 | .read = tracing_max_lat_read, | 1893 | .read = tracing_max_lat_read, |
| 1896 | .write = tracing_max_lat_write, | 1894 | .write = tracing_max_lat_write, |
| 1897 | }; | 1895 | }; |
| 1898 | 1896 | ||
| 1899 | static struct file_operations tracing_ctrl_fops = { | 1897 | static struct file_operations tracing_ctrl_fops = { |
| 1900 | .open = tracing_open_generic, | 1898 | .open = tracing_open_generic, |
| 1901 | .read = tracing_ctrl_read, | 1899 | .read = tracing_ctrl_read, |
| 1902 | .write = tracing_ctrl_write, | 1900 | .write = tracing_ctrl_write, |
| 1903 | }; | 1901 | }; |
| 1904 | 1902 | ||
| 1905 | static struct file_operations set_tracer_fops = { | 1903 | static struct file_operations set_tracer_fops = { |
| 1906 | .open = tracing_open_generic, | 1904 | .open = tracing_open_generic, |
| 1907 | .read = tracing_set_trace_read, | 1905 | .read = tracing_set_trace_read, |
| 1908 | .write = tracing_set_trace_write, | 1906 | .write = tracing_set_trace_write, |
| 1909 | }; | 1907 | }; |
| 1910 | 1908 | ||
| 1911 | static struct file_operations tracing_pipe_fops = { | 1909 | static struct file_operations tracing_pipe_fops = { |
| 1912 | .open = tracing_open_pipe, | 1910 | .open = tracing_open_pipe, |
| 1913 | .read = tracing_read_pipe, | 1911 | .read = tracing_read_pipe, |
| 1914 | .release = tracing_release_pipe, | 1912 | .release = tracing_release_pipe, |
| 1915 | }; | 1913 | }; |
| 1916 | 1914 | ||
| 1917 | #ifdef CONFIG_DYNAMIC_FTRACE | 1915 | #ifdef CONFIG_DYNAMIC_FTRACE |
| @@ -1925,13 +1923,13 @@ tracing_read_long(struct file *filp, char __user *ubuf, | |||
| 1925 | int r; | 1923 | int r; |
| 1926 | 1924 | ||
| 1927 | r = sprintf(buf, "%ld\n", *p); | 1925 | r = sprintf(buf, "%ld\n", *p); |
| 1928 | return simple_read_from_buffer(ubuf, cnt, ppos, | 1926 | |
| 1929 | buf, r); | 1927 | return simple_read_from_buffer(ubuf, cnt, ppos, buf, r); |
| 1930 | } | 1928 | } |
| 1931 | 1929 | ||
| 1932 | static struct file_operations tracing_read_long_fops = { | 1930 | static struct file_operations tracing_read_long_fops = { |
| 1933 | .open = tracing_open_generic, | 1931 | .open = tracing_open_generic, |
| 1934 | .read = tracing_read_long, | 1932 | .read = tracing_read_long, |
| 1935 | }; | 1933 | }; |
| 1936 | #endif | 1934 | #endif |
| 1937 | 1935 | ||
| @@ -2033,7 +2031,7 @@ static __init void tracer_init_debugfs(void) | |||
| 2033 | /* dummy trace to disable tracing */ | 2031 | /* dummy trace to disable tracing */ |
| 2034 | static struct tracer no_tracer __read_mostly = | 2032 | static struct tracer no_tracer __read_mostly = |
| 2035 | { | 2033 | { |
| 2036 | .name = "none", | 2034 | .name = "none", |
| 2037 | }; | 2035 | }; |
| 2038 | 2036 | ||
| 2039 | static int trace_alloc_page(void) | 2037 | static int trace_alloc_page(void) |
