2023-03-08 07:39:11

by Zhen Lei

[permalink] [raw]
Subject: [PATCH] kallsyms: Delete an unused parameter related to {module_}kallsyms_on_each_symbol()

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 <[email protected]>
Signed-off-by: Zhen Lei <[email protected]>
---
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



2023-03-08 09:43:25

by Jiri Olsa

[permalink] [raw]
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 <[email protected]>
> Signed-off-by: Zhen Lei <[email protected]>

lgtm

Acked-by: Jiri Olsa <[email protected]>

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
>

2023-03-09 18:30:39

by Vincenzo Palazzo

[permalink] [raw]
Subject: Re: [PATCH] kallsyms: Delete an unused parameter related to {module_}kallsyms_on_each_symbol()

> 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 <[email protected]>
> Signed-off-by: Zhen Lei <[email protected]>

Reviewed-by: Vincenzo Palazzo <[email protected]>

2023-03-18 19:30:08

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] kallsyms: Delete an unused parameter related to {module_}kallsyms_on_each_symbol()

On Wed, 8 Mar 2023 15:38:46 +0800
Zhen Lei <[email protected]> wrote:

> 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;
> --

Acked-by: Steven Rostedt (Google) <[email protected]>

-- Steve

2023-03-19 20:00:13

by Luis Chamberlain

[permalink] [raw]
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 <[email protected]>
> Signed-off-by: Zhen Lei <[email protected]>

Thanks, queued up on modules-next.

Luis