Messages in this thread | | | Date | Mon, 14 Oct 2019 11:17:19 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH v2] ftrace: Introduce PERMANENT ftrace_ops flag |
| |
On Mon, 14 Oct 2019 12:59:23 +0200 Miroslav Benes <mbenes@suse.cz> wrote:
> int > ftrace_enable_sysctl(struct ctl_table *table, int write, > void __user *buffer, size_t *lenp, > @@ -6740,8 +6754,6 @@ ftrace_enable_sysctl(struct ctl_table *table, int write, > if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled)) > goto out; > > - last_ftrace_enabled = !!ftrace_enabled; > - > if (ftrace_enabled) { > > /* we are starting ftrace again */ > @@ -6752,12 +6764,19 @@ ftrace_enable_sysctl(struct ctl_table *table, int write, > ftrace_startup_sysctl(); > > } else { > + if (is_permanent_ops_registered()) { > + ftrace_enabled = last_ftrace_enabled;
Although this is not incorrect, but may be somewhat confusing.
At this location, last_ftrace_enabled is always true.
I'm thinking this would be better to simply set it to false here.
> + ret = -EBUSY; > + goto out; > + } > + > /* stopping ftrace calls (just send to ftrace_stub) */ > ftrace_trace_function = ftrace_stub; > > ftrace_shutdown_sysctl(); > } > > + last_ftrace_enabled = !!ftrace_enabled; > out:
And move the assignment of last_ftrace_enabled to after the "out:" label.
-- Steve
> mutex_unlock(&ftrace_lock); > return ret;
| |