lkml.org 
[lkml]   [2018]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[for-next][PATCH 43/46] tracing: Embed replace_filter_string() helper function
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

The replace_filter_string() frees the current string and then copies a given
string. But in the two locations that it was used, the allocation happened
right after the filter was allocated (nothing to replace). There's no need
for this to be a helper function. Embedding the allocation in the two places
where it was called will make changing the code in the future easier.

Also make the variable consistent (always use "filter_string" as the name,
as it was used in one instance as "filter_str")

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
kernel/trace/trace_events_filter.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index 2401b7c727a3..c3c6eee1e4df 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -664,17 +664,6 @@ static void remove_filter_string(struct event_filter *filter)
filter->filter_string = NULL;
}

-static int replace_filter_string(struct event_filter *filter,
- char *filter_string)
-{
- kfree(filter->filter_string);
- filter->filter_string = kstrdup(filter_string, GFP_KERNEL);
- if (!filter->filter_string)
- return -ENOMEM;
-
- return 0;
-}
-
static void append_filter_err(struct filter_parse_state *ps,
struct event_filter *filter)
{
@@ -1802,9 +1791,8 @@ static int replace_system_preds(struct trace_subsystem_dir *dir,
if (!filter)
goto fail_mem;

- /* Can only fail on no memory */
- err = replace_filter_string(filter, filter_string);
- if (err)
+ filter->filter_string = kstrdup(filter_string, GFP_KERNEL);
+ if (!filter->filter_string)
goto fail_mem;

err = replace_preds(file->event_call, filter, ps, false);
@@ -1868,7 +1856,7 @@ static int replace_system_preds(struct trace_subsystem_dir *dir,
return -ENOMEM;
}

-static int create_filter_start(char *filter_str, bool set_str,
+static int create_filter_start(char *filter_string, bool set_str,
struct filter_parse_state **psp,
struct event_filter **filterp)
{
@@ -1880,8 +1868,11 @@ static int create_filter_start(char *filter_str, bool set_str,

/* allocate everything, and if any fails, free all and fail */
filter = kzalloc(sizeof(*filter), GFP_KERNEL);
- if (filter && set_str)
- err = replace_filter_string(filter, filter_str);
+ if (filter && set_str) {
+ filter->filter_string = kstrdup(filter_string, GFP_KERNEL);
+ if (!filter->filter_string)
+ err = -ENOMEM;
+ }

ps = kzalloc(sizeof(*ps), GFP_KERNEL);

@@ -1895,7 +1886,7 @@ static int create_filter_start(char *filter_str, bool set_str,
*filterp = filter;
*psp = ps;

- parse_init(ps, filter_ops, filter_str);
+ parse_init(ps, filter_ops, filter_string);
err = filter_parse(ps);
if (err && set_str)
append_filter_err(ps, filter);
--
2.15.1

\
 
 \ /
  Last update: 2018-03-21 03:22    [W:0.496 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site