Re: [PATCH] ftrace: avoid unused-variable warning

From: Steven Rostedt
Date: Tue Jul 11 2017 - 18:58:51 EST


On Mon, 10 Jul 2017 13:04:56 +0200
Arnd Bergmann <arnd@xxxxxxxx> wrote:

> When CONFIG_DYNAMIC_FTRACE is disabled, we get a harmless
> compile-time warning:
>
> kernel/trace/trace_stack.c: In function 'stack_trace_filter_open':
> kernel/trace/trace_stack.c:412:21: error: unused variable 'ops' [-Werror=unused-variable]
>
> We could replace the macros in linux/ftrace.h with inline functions,
> which would solve this problem for all callers. However, as these
> are only called internally in the ftrace code, it seems simpler
> to change the caller instead.

Actually we can't replace them, as they are called when ftrace is not
defined, and the ops isn't defined either (which the comment above the
macros state).

>
> Fixes: 0f17976568b3 ("ftrace: Fix regression with module command in stack_trace_filter")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> kernel/trace/trace_stack.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
> index b4a751e8f9d6..0ff29008383b 100644
> --- a/kernel/trace/trace_stack.c
> +++ b/kernel/trace/trace_stack.c
> @@ -409,9 +409,7 @@ static const struct file_operations stack_trace_fops = {
> static int
> stack_trace_filter_open(struct inode *inode, struct file *file)
> {
> - struct ftrace_ops *ops = inode->i_private;
> -
> - return ftrace_regex_open(ops, FTRACE_ITER_FILTER,
> + return ftrace_regex_open(inode->i_private, FTRACE_ITER_FILTER,

Actually, I'm glad you mentioned this warning. Because this file should
not be exposed if DYNAMIC_FTRACE is not set.

I'll fix.

Thanks!

-- Steve

> inode, file);
> }
>