From: Greg Kroah-Hartman Date: Sun, 29 Oct 2023 12:50:52 +0000 (+0100) Subject: drop queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as... X-Git-Tag: v6.1.61~47 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=66387e9389358a536d2477f1cd4d463619e77d38;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as-well.patch --- diff --git a/queue-6.1/series b/queue-6.1/series index 56bc54cc0f2..c11eacd73b6 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -67,7 +67,6 @@ i2c-muxes-i2c-mux-gpmux-use-of_get_i2c_adapter_by_node.patch i2c-muxes-i2c-demux-pinctrl-use-of_get_i2c_adapter_by_node.patch i2c-stm32f7-fix-pec-handling-in-case-of-smbus-transfers.patch i2c-aspeed-fix-i2c-bus-hang-in-slave-read.patch -tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as-well.patch tracing-kprobes-fix-the-description-of-variable-length-arguments.patch misc-fastrpc-reset-metadata-buffer-to-avoid-incorrect-free.patch misc-fastrpc-free-dma-handles-for-rpc-calls-with-no-arguments.patch diff --git a/queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as-well.patch b/queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as-well.patch deleted file mode 100644 index 2e8f4ba442f..00000000000 --- a/queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as-well.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 926fe783c8a64b33997fec405cf1af3e61aed441 Mon Sep 17 00:00:00 2001 -From: Andrii Nakryiko -Date: Fri, 27 Oct 2023 16:31:26 -0700 -Subject: tracing/kprobes: Fix symbol counting logic by looking at modules as well - -From: Andrii Nakryiko - -commit 926fe783c8a64b33997fec405cf1af3e61aed441 upstream. - -Recent changes to count number of matching symbols when creating -a kprobe event failed to take into account kernel modules. As such, it -breaks kprobes on kernel module symbols, by assuming there is no match. - -Fix this my calling module_kallsyms_on_each_symbol() in addition to -kallsyms_on_each_match_symbol() to perform a proper counting. - -Link: https://lore.kernel.org/all/20231027233126.2073148-1-andrii@kernel.org/ - -Cc: Francis Laniel -Cc: stable@vger.kernel.org -Cc: Masami Hiramatsu -Cc: Steven Rostedt -Fixes: b022f0c7e404 ("tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols") -Signed-off-by: Andrii Nakryiko -Acked-by: Song Liu -Signed-off-by: Masami Hiramatsu (Google) -Signed-off-by: Greg Kroah-Hartman ---- - kernel/trace/trace_kprobe.c | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c -index 95c5b0668cb7..e834f149695b 100644 ---- a/kernel/trace/trace_kprobe.c -+++ b/kernel/trace/trace_kprobe.c -@@ -714,14 +714,30 @@ static int count_symbols(void *data, unsigned long unused) - return 0; - } - -+struct sym_count_ctx { -+ unsigned int count; -+ const char *name; -+}; -+ -+static int count_mod_symbols(void *data, const char *name, unsigned long unused) -+{ -+ struct sym_count_ctx *ctx = data; -+ -+ if (strcmp(name, ctx->name) == 0) -+ ctx->count++; -+ -+ return 0; -+} -+ - static unsigned int number_of_same_symbols(char *func_name) - { -- unsigned int count; -+ struct sym_count_ctx ctx = { .count = 0, .name = func_name }; -+ -+ kallsyms_on_each_match_symbol(count_symbols, func_name, &ctx.count); - -- count = 0; -- kallsyms_on_each_match_symbol(count_symbols, func_name, &count); -+ module_kallsyms_on_each_symbol(NULL, count_mod_symbols, &ctx); - -- return count; -+ return ctx.count; - } - - static int __trace_kprobe_create(int argc, const char *argv[]) --- -2.42.0 - diff --git a/queue-6.1/tracing-kprobes-fix-the-description-of-variable-length-arguments.patch b/queue-6.1/tracing-kprobes-fix-the-description-of-variable-length-arguments.patch index da4cfbd0ec2..1c8a93aa944 100644 --- a/queue-6.1/tracing-kprobes-fix-the-description-of-variable-length-arguments.patch +++ b/queue-6.1/tracing-kprobes-fix-the-description-of-variable-length-arguments.patch @@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c -@@ -1005,7 +1005,7 @@ EXPORT_SYMBOL_GPL(kprobe_event_cmd_init) +@@ -989,7 +989,7 @@ EXPORT_SYMBOL_GPL(kprobe_event_cmd_init) * @name: The name of the kprobe event * @loc: The location of the kprobe event * @kretprobe: Is this a return probe? @@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman * * NOTE: Users normally won't want to call this function directly, but * rather use the kprobe_event_gen_cmd_start() wrapper, which automatically -@@ -1078,7 +1078,7 @@ EXPORT_SYMBOL_GPL(__kprobe_event_gen_cmd +@@ -1062,7 +1062,7 @@ EXPORT_SYMBOL_GPL(__kprobe_event_gen_cmd /** * __kprobe_event_add_fields - Add probe fields to a kprobe command from arg list * @cmd: A pointer to the dynevent_cmd struct representing the new event