From 4ec7ecb414e3ea0d0c7d9c66d00e121adc62a01a Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sun, 16 Nov 2008 05:53:19 +0100 Subject: [PATCH] --- yaml --- r: 121127 b: refs/heads/master c: e6e7a65aabdb696cf05a56cfd495c49a11fd4cde h: refs/heads/master i: 121125: 0ca372bad9418a2bf1d284397c74521fe122b5e7 121123: 42a9cd361eea1469f1fd49add5d87e77a297d864 121119: b0b545d439ec6bc265bf4aa8a41f10e3cd2d27eb v: v3 --- [refs] | 2 +- trunk/kernel/trace/trace.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 966b983a07f5..cf0c2f5f0e46 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ee02a2e5c88ca2e4d6921f08d037b46d5bf82641 +refs/heads/master: e6e7a65aabdb696cf05a56cfd495c49a11fd4cde diff --git a/trunk/kernel/trace/trace.c b/trunk/kernel/trace/trace.c index dff4bee591b9..80898f4870cc 100644 --- a/trunk/kernel/trace/trace.c +++ b/trunk/kernel/trace/trace.c @@ -2655,6 +2655,9 @@ tracing_set_trace_write(struct file *filp, const char __user *ubuf, char buf[max_tracer_type_len+1]; int i; size_t ret; + int err; + + ret = cnt; if (cnt > max_tracer_type_len) cnt = max_tracer_type_len; @@ -2668,12 +2671,11 @@ tracing_set_trace_write(struct file *filp, const char __user *ubuf, for (i = cnt - 1; i > 0 && isspace(buf[i]); i--) buf[i] = 0; - ret = tracing_set_tracer(buf); - if (!ret) - ret = cnt; + err = tracing_set_tracer(buf); + if (err) + return err; - if (ret > 0) - filp->f_pos += ret; + filp->f_pos += ret; return ret; }