[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220814222758.5aed931a@gandalf.local.home>
Date: Sun, 14 Aug 2022 22:27:58 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: "Kirill A. Shutemov" <kirill@...temov.name>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Song Liu <song@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Linux 6.0-rc1
On Mon, 15 Aug 2022 04:23:00 +0300
"Kirill A. Shutemov" <kirill@...temov.name> wrote:
> 53cd885bc5c3 ("ftrace: Allow IPMODIFY and DIRECT ops on the same
> function") breaks build for me (CONFIG_MODULE=n):
>
> CC kernel/trace/ftrace.o
> kernel/trace/ftrace.c:3149:1: error: ‘ops_references_rec’ defined but not used [-Werror=unused-function]
> 3149 | ops_references_rec(struct ftrace_ops *ops, struct dyn_ftrace *rec)
> | ^~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> The fix I used locally:
>
This was submitted back here:
https://lore.kernel.org/all/20220801084745.1187987-1-wangjingjin1@huawei.com/
But the broken change went through the BPF tree, so I can't fix it.
-- Steve
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index bc921a3f7ea8..90fa3ceeaeeb 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -3138,19 +3138,6 @@ ops_references_ip(struct ftrace_ops *ops, unsigned long ip)
> return true;
> }
>
> -/*
> - * Check if the current ops references the record.
> - *
> - * If the ops traces all functions, then it was already accounted for.
> - * If the ops does not trace the current record function, skip it.
> - * If the ops ignores the function via notrace filter, skip it.
> - */
> -static bool
> -ops_references_rec(struct ftrace_ops *ops, struct dyn_ftrace *rec)
> -{
> - return ops_references_ip(ops, rec->ip);
> -}
> -
> static int ftrace_update_code(struct module *mod, struct ftrace_page *new_pgs)
> {
> bool init_nop = ftrace_need_init_nop();
> @@ -6818,6 +6805,19 @@ static int ftrace_get_trampoline_kallsym(unsigned int symnum,
>
> static LIST_HEAD(ftrace_mod_maps);
>
> +/*
> + * Check if the current ops references the record.
> + *
> + * If the ops traces all functions, then it was already accounted for.
> + * If the ops does not trace the current record function, skip it.
> + * If the ops ignores the function via notrace filter, skip it.
> + */
> +static bool
> +ops_references_rec(struct ftrace_ops *ops, struct dyn_ftrace *rec)
> +{
> + return ops_references_ip(ops, rec->ip);
> +}
> +
> static int referenced_filters(struct dyn_ftrace *rec)
> {
> struct ftrace_ops *ops;
Powered by blists - more mailing lists