Skip to content

Commit f69a1ac

Browse files
committed
Merge tag 'ftrace-v6.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
Pull ftrace fixes from Steven Rostedt: - Fix missing mutex unlock in error path of register_ftrace_graph() A previous fix added a return on an error path and forgot to unlock the mutex. Instead of dealing with error paths, use guard(mutex) as the mutex is just released at the exit of the function anyway. Other functions in this file should be updated with this, but that's a cleanup and not a fix. - Change cpuhp setup name to be consistent with other cpuhp states The same fix that the above patch fixes added a cpuhp_setup_state() call with the name of "fgraph_idle_init". I was informed that it should instead be something like: "fgraph:online". Update that too. * tag 'ftrace-v6.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: fgraph: Change the name of cpuhp state to "fgraph:online" fgraph: Fix missing unlock in register_ftrace_graph()
2 parents 284a2f8 + a574e7f commit f69a1ac

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

kernel/trace/fgraph.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,10 +1252,10 @@ int register_ftrace_graph(struct fgraph_ops *gops)
12521252
int ret = 0;
12531253
int i = -1;
12541254

1255-
mutex_lock(&ftrace_lock);
1255+
guard(mutex)(&ftrace_lock);
12561256

12571257
if (!fgraph_initialized) {
1258-
ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "fgraph_idle_init",
1258+
ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "fgraph:online",
12591259
fgraph_cpu_init, NULL);
12601260
if (ret < 0) {
12611261
pr_warn("fgraph: Error to init cpu hotplug support\n");
@@ -1273,10 +1273,8 @@ int register_ftrace_graph(struct fgraph_ops *gops)
12731273
}
12741274

12751275
i = fgraph_lru_alloc_index();
1276-
if (i < 0 || WARN_ON_ONCE(fgraph_array[i] != &fgraph_stub)) {
1277-
ret = -ENOSPC;
1278-
goto out;
1279-
}
1276+
if (i < 0 || WARN_ON_ONCE(fgraph_array[i] != &fgraph_stub))
1277+
return -ENOSPC;
12801278
gops->idx = i;
12811279

12821280
ftrace_graph_active++;
@@ -1313,8 +1311,6 @@ int register_ftrace_graph(struct fgraph_ops *gops)
13131311
gops->saved_func = NULL;
13141312
fgraph_lru_release_index(i);
13151313
}
1316-
out:
1317-
mutex_unlock(&ftrace_lock);
13181314
return ret;
13191315
}
13201316

0 commit comments

Comments
 (0)