By now there isn't any subcommand for mod.

Before:
        sh$ echo '*:mod:ipv6:a' > set_ftrace_filter
        sh$ echo '*:mod:ipv6' > set_ftrace_filter
had the same results, but now first will result in:
        sh$ echo '*:mod:ipv6:a' > set_ftrace_filter
        -bash: echo: write error: Invalid argument

Also, I clarified ftrace_mod_callback code a little.

Signed-off-by: Dmitry Safonov <0x7f454...@gmail.com>
---
 kernel/trace/ftrace.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index b0623ac..f87401b 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -3564,8 +3564,7 @@ static int
 ftrace_mod_callback(struct ftrace_hash *hash,
                    char *func, char *cmd, char *param, int enable)
 {
-       char *mod;
-       int ret = -EINVAL;
+       int ret;
 
        /*
         * cmd == 'mod' because we only registered this func
@@ -3576,16 +3575,12 @@ ftrace_mod_callback(struct ftrace_hash *hash,
         */
 
        /* we must have a module name */
-       if (!param)
-               return ret;
-
-       mod = strsep(&param, ":");
-       if (!strlen(mod))
-               return ret;
+       if (!param || !strlen(param))
+               return -EINVAL;
 
-       ret = ftrace_match_module_records(hash, func, mod);
-       if (!ret)
-               ret = -EINVAL;
+       ret = ftrace_match_module_records(hash, func, param);
+       if (ret == 0)
+               return -EINVAL;
        if (ret < 0)
                return ret;
 
-- 
2.5.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to