Remove trace_array 'sample-instance' if kthread_run fails
in sample_trace_array_init().
Signed-off-by: Kefeng Wang <[email protected]>
---
samples/ftrace/sample-trace-array.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/samples/ftrace/sample-trace-array.c b/samples/ftrace/sample-trace-array.c
index 9e437f930280..6aba02a31c96 100644
--- a/samples/ftrace/sample-trace-array.c
+++ b/samples/ftrace/sample-trace-array.c
@@ -115,8 +115,12 @@ static int __init sample_trace_array_init(void)
trace_printk_init_buffers();
simple_tsk = kthread_run(simple_thread, NULL, "sample-instance");
- if (IS_ERR(simple_tsk))
+ if (IS_ERR(simple_tsk)) {
+ trace_array_put(tr);
+ trace_array_destroy(tr);
return -1;
+ }
+
return 0;
}
--
2.27.0
Reviewed-by: Divya Indi <[email protected]>
On 6/9/20 6:52 AM, Kefeng Wang wrote:
> Remove trace_array 'sample-instance' if kthread_run fails
> in sample_trace_array_init().
>
> Signed-off-by: Kefeng Wang <[email protected]>
> ---
> samples/ftrace/sample-trace-array.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/samples/ftrace/sample-trace-array.c b/samples/ftrace/sample-trace-array.c
> index 9e437f930280..6aba02a31c96 100644
> --- a/samples/ftrace/sample-trace-array.c
> +++ b/samples/ftrace/sample-trace-array.c
> @@ -115,8 +115,12 @@ static int __init sample_trace_array_init(void)
> trace_printk_init_buffers();
>
> simple_tsk = kthread_run(simple_thread, NULL, "sample-instance");
> - if (IS_ERR(simple_tsk))
> + if (IS_ERR(simple_tsk)) {
> + trace_array_put(tr);
> + trace_array_destroy(tr);
> return -1;
> + }
> +
> return 0;
> }
>