2016-03-15 14:13:23

by Geliang Tang

[permalink] [raw]
Subject: [PATCH] ftrace: use kasprintf() in ftrace_profile_tracefs()

Use kasprintf() instead of kmalloc() and snprintf().

Signed-off-by: Geliang Tang <[email protected]>
---
kernel/trace/ftrace.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 2ece9f1..69aceae 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1030,8 +1030,7 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer)
for_each_possible_cpu(cpu) {
stat = &per_cpu(ftrace_profile_stats, cpu);

- /* allocate enough for function name + cpu number */
- name = kmalloc(32, GFP_KERNEL);
+ name = kasprintf(GFP_KERNEL, "function%d", cpu);
if (!name) {
/*
* The files created are permanent, if something happens
@@ -1043,7 +1042,6 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer)
return;
}
stat->stat = function_stats;
- snprintf(name, 32, "function%d", cpu);
stat->stat.name = name;
ret = register_stat_tracer(&stat->stat);
if (ret) {
--
2.5.0



2016-03-16 14:19:12

by Namhyung Kim

[permalink] [raw]
Subject: Re: [PATCH] ftrace: use kasprintf() in ftrace_profile_tracefs()

Hi Geliang,

On Tue, Mar 15, 2016 at 11:12 PM, Geliang Tang <[email protected]> wrote:
> Use kasprintf() instead of kmalloc() and snprintf().
>
> Signed-off-by: Geliang Tang <[email protected]>

Acked-by: Namhyung Kim <[email protected]>

Thanks,
Namhyung


> ---
> kernel/trace/ftrace.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 2ece9f1..69aceae 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -1030,8 +1030,7 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer)
> for_each_possible_cpu(cpu) {
> stat = &per_cpu(ftrace_profile_stats, cpu);
>
> - /* allocate enough for function name + cpu number */
> - name = kmalloc(32, GFP_KERNEL);
> + name = kasprintf(GFP_KERNEL, "function%d", cpu);
> if (!name) {
> /*
> * The files created are permanent, if something happens
> @@ -1043,7 +1042,6 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer)
> return;
> }
> stat->stat = function_stats;
> - snprintf(name, 32, "function%d", cpu);
> stat->stat.name = name;
> ret = register_stat_tracer(&stat->stat);
> if (ret) {
> --
> 2.5.0
>
>

2016-03-16 14:32:12

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] ftrace: use kasprintf() in ftrace_profile_tracefs()

On Wed, 16 Mar 2016 23:19:08 +0900
Namhyung Kim <[email protected]> wrote:

> Hi Geliang,
>
> On Tue, Mar 15, 2016 at 11:12 PM, Geliang Tang <[email protected]> wrote:
> > Use kasprintf() instead of kmalloc() and snprintf().
> >
> > Signed-off-by: Geliang Tang <[email protected]>
>
> Acked-by: Namhyung Kim <[email protected]>
>

Thanks, I'll pull this in to my pull request. I'm currently working on
some other things, but need to get my pull ready soon. I'll work on
this tomorrow.

-- Steve

2016-03-18 14:32:01

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] ftrace: use kasprintf() in ftrace_profile_tracefs()

On Tue, 15 Mar 2016 22:12:34 +0800
Geliang Tang <[email protected]> wrote:

> Use kasprintf() instead of kmalloc() and snprintf().
>
> Signed-off-by: Geliang Tang <[email protected]>

Thanks, applied!

-- Steve

> ---
> kernel/trace/ftrace.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 2ece9f1..69aceae 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -1030,8 +1030,7 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer)
> for_each_possible_cpu(cpu) {
> stat = &per_cpu(ftrace_profile_stats, cpu);
>
> - /* allocate enough for function name + cpu number */
> - name = kmalloc(32, GFP_KERNEL);
> + name = kasprintf(GFP_KERNEL, "function%d", cpu);
> if (!name) {
> /*
> * The files created are permanent, if something happens
> @@ -1043,7 +1042,6 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer)
> return;
> }
> stat->stat = function_stats;
> - snprintf(name, 32, "function%d", cpu);
> stat->stat.name = name;
> ret = register_stat_tracer(&stat->stat);
> if (ret) {