lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZAhYbEtFqwts6OxN@krava>
Date:   Wed, 8 Mar 2023 10:42:04 +0100
From:   Jiri Olsa <olsajiri@...il.com>
To:     Zhen Lei <thunder.leizhen@...wei.com>
Cc:     Luis Chamberlain <mcgrof@...nel.org>,
        Josh Poimboeuf <jpoimboe@...nel.org>,
        Jiri Kosina <jikos@...nel.org>,
        Miroslav Benes <mbenes@...e.cz>,
        Petr Mladek <pmladek@...e.com>,
        Joe Lawrence <joe.lawrence@...hat.com>,
        Steven Rostedt <rostedt@...dmis.org>,
        Masami Hiramatsu <mhiramat@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        linux-trace-kernel@...r.kernel.org, live-patching@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-modules@...r.kernel.org
Subject: Re: [PATCH] kallsyms: Delete an unused parameter related to
 {module_}kallsyms_on_each_symbol()

On Wed, Mar 08, 2023 at 03:38:46PM +0800, Zhen Lei wrote:
> The parameter 'struct module *' in the hook function associated with
> {module_}kallsyms_on_each_symbol() is no longer used. Delete it.
> 
> Suggested-by: Petr Mladek <pmladek@...e.com>
> Signed-off-by: Zhen Lei <thunder.leizhen@...wei.com>

lgtm

Acked-by: Jiri Olsa <jolsa@...nel.org>

jirka

> ---
>  include/linux/kallsyms.h   | 7 +++----
>  include/linux/module.h     | 6 ++----
>  kernel/kallsyms.c          | 5 ++---
>  kernel/kallsyms_selftest.c | 6 +++---
>  kernel/livepatch/core.c    | 3 +--
>  kernel/module/kallsyms.c   | 5 ++---
>  kernel/trace/ftrace.c      | 3 +--
>  7 files changed, 14 insertions(+), 21 deletions(-)
> 
> diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
> index 0065209cc00424b..fe3c9993b5bfe47 100644
> --- a/include/linux/kallsyms.h
> +++ b/include/linux/kallsyms.h
> @@ -67,8 +67,7 @@ static inline void *dereference_symbol_descriptor(void *ptr)
>  
>  #ifdef CONFIG_KALLSYMS
>  unsigned long kallsyms_sym_address(int idx);
> -int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *,
> -				      unsigned long),
> +int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
>  			    void *data);
>  int kallsyms_on_each_match_symbol(int (*fn)(void *, unsigned long),
>  				  const char *name, void *data);
> @@ -166,8 +165,8 @@ static inline bool kallsyms_show_value(const struct cred *cred)
>  	return false;
>  }
>  
> -static inline int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *,
> -					  unsigned long), void *data)
> +static inline int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
> +					  void *data)
>  {
>  	return -EOPNOTSUPP;
>  }
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 4435ad9439abba6..1de304e0b09c7f9 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -888,13 +888,11 @@ static inline bool module_sig_ok(struct module *module)
>  
>  #if defined(CONFIG_MODULES) && defined(CONFIG_KALLSYMS)
>  int module_kallsyms_on_each_symbol(const char *modname,
> -				   int (*fn)(void *, const char *,
> -					     struct module *, unsigned long),
> +				   int (*fn)(void *, const char *, unsigned long),
>  				   void *data);
>  #else
>  static inline int module_kallsyms_on_each_symbol(const char *modname,
> -						 int (*fn)(void *, const char *,
> -						 struct module *, unsigned long),
> +						 int (*fn)(void *, const char *, unsigned long),
>  						 void *data)
>  {
>  	return -EOPNOTSUPP;
> diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
> index 83f499182c9aa31..77747391f49b66c 100644
> --- a/kernel/kallsyms.c
> +++ b/kernel/kallsyms.c
> @@ -288,8 +288,7 @@ unsigned long kallsyms_lookup_name(const char *name)
>   * Iterate over all symbols in vmlinux.  For symbols from modules use
>   * module_kallsyms_on_each_symbol instead.
>   */
> -int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *,
> -				      unsigned long),
> +int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
>  			    void *data)
>  {
>  	char namebuf[KSYM_NAME_LEN];
> @@ -299,7 +298,7 @@ int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *,
>  
>  	for (i = 0, off = 0; i < kallsyms_num_syms; i++) {
>  		off = kallsyms_expand_symbol(off, namebuf, ARRAY_SIZE(namebuf));
> -		ret = fn(data, namebuf, NULL, kallsyms_sym_address(i));
> +		ret = fn(data, namebuf, kallsyms_sym_address(i));
>  		if (ret != 0)
>  			return ret;
>  		cond_resched();
> diff --git a/kernel/kallsyms_selftest.c b/kernel/kallsyms_selftest.c
> index bfbc12da33267f8..a2e3745d15c471f 100644
> --- a/kernel/kallsyms_selftest.c
> +++ b/kernel/kallsyms_selftest.c
> @@ -95,7 +95,7 @@ static struct test_item test_items[] = {
>  
>  static char stub_name[KSYM_NAME_LEN];
>  
> -static int stat_symbol_len(void *data, const char *name, struct module *mod, unsigned long addr)
> +static int stat_symbol_len(void *data, const char *name, unsigned long addr)
>  {
>  	*(u32 *)data += strlen(name);
>  
> @@ -154,7 +154,7 @@ static void test_kallsyms_compression_ratio(void)
>  	pr_info(" ---------------------------------------------------------\n");
>  }
>  
> -static int lookup_name(void *data, const char *name, struct module *mod, unsigned long addr)
> +static int lookup_name(void *data, const char *name, unsigned long addr)
>  {
>  	u64 t0, t1, t;
>  	struct test_stat *stat = (struct test_stat *)data;
> @@ -207,7 +207,7 @@ static bool match_cleanup_name(const char *s, const char *name)
>  	return !strncmp(s, name, len);
>  }
>  
> -static int find_symbol(void *data, const char *name, struct module *mod, unsigned long addr)
> +static int find_symbol(void *data, const char *name, unsigned long addr)
>  {
>  	struct test_stat *stat = (struct test_stat *)data;
>  
> diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
> index 4bd2d5e10f20a1c..1de2c40cc37841a 100644
> --- a/kernel/livepatch/core.c
> +++ b/kernel/livepatch/core.c
> @@ -142,8 +142,7 @@ static int klp_match_callback(void *data, unsigned long addr)
>  	return 0;
>  }
>  
> -static int klp_find_callback(void *data, const char *name,
> -			     struct module *mod, unsigned long addr)
> +static int klp_find_callback(void *data, const char *name, unsigned long addr)
>  {
>  	struct klp_find_arg *args = data;
>  
> diff --git a/kernel/module/kallsyms.c b/kernel/module/kallsyms.c
> index ab2376a1be88e7e..c4fe856e5052ff7 100644
> --- a/kernel/module/kallsyms.c
> +++ b/kernel/module/kallsyms.c
> @@ -495,8 +495,7 @@ unsigned long module_kallsyms_lookup_name(const char *name)
>  }
>  
>  int module_kallsyms_on_each_symbol(const char *modname,
> -				   int (*fn)(void *, const char *,
> -					     struct module *, unsigned long),
> +				   int (*fn)(void *, const char *, unsigned long),
>  				   void *data)
>  {
>  	struct module *mod;
> @@ -525,7 +524,7 @@ int module_kallsyms_on_each_symbol(const char *modname,
>  				continue;
>  
>  			ret = fn(data, kallsyms_symbol_name(kallsyms, i),
> -				 mod, kallsyms_symbol_value(sym));
> +				 kallsyms_symbol_value(sym));
>  			if (ret != 0)
>  				goto out;
>  		}
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 29baa97d0d53428..76caca8f496aaed 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -8391,8 +8391,7 @@ struct kallsyms_data {
>   * and returns 1 in case we resolved all the requested symbols,
>   * 0 otherwise.
>   */
> -static int kallsyms_callback(void *data, const char *name,
> -			     struct module *mod, unsigned long addr)
> +static int kallsyms_callback(void *data, const char *name, unsigned long addr)
>  {
>  	struct kallsyms_data *args = data;
>  	const char **sym;
> -- 
> 2.25.1
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ