diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-09-21 09:14:51 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-09-21 09:14:51 -0700 |
| commit | 03ef042130c90fea1b458c020c4697cd20f4e3c4 (patch) | |
| tree | b4795c830272b45692b94364eaea43965824dd5e /kernel/trace | |
| parent | 1cea0d996effba78a75004b894a78b268f64a8a1 (diff) | |
| parent | d580248c6e00698b48ca35888ca9bad80e7997e8 (diff) | |
Merge "Merge android-4.4.155 (b3f777e) into msm-4.4"
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/blktrace.c | 4 | ||||
| -rw-r--r-- | kernel/trace/trace.c | 4 | ||||
| -rw-r--r-- | kernel/trace/trace_uprobe.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index b674a7a8d655..c39fc68c4778 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -1768,6 +1768,10 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, mutex_lock(&bdev->bd_mutex); if (attr == &dev_attr_enable) { + if (!!value == !!q->blk_trace) { + ret = 0; + goto out_unlock_bdev; + } if (value) ret = blk_trace_setup_queue(q, bdev); else diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index b30adaae739a..1600d1d6e93f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -6657,7 +6657,9 @@ rb_simple_write(struct file *filp, const char __user *ubuf, if (buffer) { mutex_lock(&trace_types_lock); - if (val) { + if (!!val == tracer_tracing_is_on(tr)) { + val = 0; /* do nothing */ + } else if (val) { tracer_tracing_on(tr); if (tr->current_trace->start) tr->current_trace->start(tr); diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c index 64304388993e..31a436f9f13b 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c @@ -969,7 +969,7 @@ probe_event_disable(struct trace_uprobe *tu, struct trace_event_file *file) list_del_rcu(&link->list); /* synchronize with u{,ret}probe_trace_func */ - synchronize_sched(); + synchronize_rcu(); kfree(link); if (!list_empty(&tu->tp.files)) |
