]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 29 Oct 2023 12:50:52 +0000 (13:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 29 Oct 2023 12:50:52 +0000 (13:50 +0100)
queue-6.1/series
queue-6.1/tracing-kprobes-fix-symbol-counting-logic-by-looking-at-modules-as-well.patch [deleted file]
queue-6.1/tracing-kprobes-fix-the-description-of-variable-length-arguments.patch

index 56bc54cc0f2324d014ccf4dbda6363e9e13459bc..c11eacd73b6cbe4cbd8d132f618a2e21941a7ae8 100644 (file)
@@ -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 (file)
index 2e8f4ba..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From 926fe783c8a64b33997fec405cf1af3e61aed441 Mon Sep 17 00:00:00 2001
-From: Andrii Nakryiko <andrii@kernel.org>
-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 <andrii@kernel.org>
-
-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 <flaniel@linux.microsoft.com>
-Cc: stable@vger.kernel.org
-Cc: Masami Hiramatsu <mhiramat@kernel.org>
-Cc: Steven Rostedt <rostedt@goodmis.org>
-Fixes: b022f0c7e404 ("tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols")
-Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
-Acked-by: Song Liu <song@kernel.org>
-Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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
-
index da4cfbd0ec263a1d9ff212d6f36e31573e249a22..1c8a93aa944ba8feda8109975773a50973fbdefd 100644 (file)
@@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- 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 <gregkh@linuxfoundation.org>
   *
   * 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