From: Greg Kroah-Hartman Date: Tue, 11 Mar 2025 14:13:59 +0000 (+0100) Subject: drop some more 6.13 patches X-Git-Tag: v5.4.291~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c48c1bd56c4b6c46d722528110f677e256ae7c07;p=thirdparty%2Fkernel%2Fstable-queue.git drop some more 6.13 patches fixes for commits that were just removed, should also be removed --- diff --git a/queue-6.13/arm64-kconfig-remove-selecting-replaced-have_function_graph_retval.patch b/queue-6.13/arm64-kconfig-remove-selecting-replaced-have_function_graph_retval.patch deleted file mode 100644 index 5a27b1f18c..0000000000 --- a/queue-6.13/arm64-kconfig-remove-selecting-replaced-have_function_graph_retval.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f458b2165d7ac0f2401fff48f19c8f864e7e1e38 Mon Sep 17 00:00:00 2001 -From: Lukas Bulwahn -Date: Fri, 17 Jan 2025 07:55:22 -0500 -Subject: arm64: Kconfig: Remove selecting replaced HAVE_FUNCTION_GRAPH_RETVAL - -From: Lukas Bulwahn - -commit f458b2165d7ac0f2401fff48f19c8f864e7e1e38 upstream. - -Commit a3ed4157b7d8 ("fgraph: Replace fgraph_ret_regs with ftrace_regs") -replaces the config HAVE_FUNCTION_GRAPH_RETVAL with the config -HAVE_FUNCTION_GRAPH_FREGS, and it replaces all the select commands in the -various architecture Kconfig files. In the arm64 architecture, the commit -adds the 'select HAVE_FUNCTION_GRAPH_FREGS', but misses to remove the -'select HAVE_FUNCTION_GRAPH_RETVAL', i.e., the select on the replaced -config. - -Remove selecting the replaced config. No functional change, just cleanup. - -Fixes: a3ed4157b7d8 ("fgraph: Replace fgraph_ret_regs with ftrace_regs") -Signed-off-by: Lukas Bulwahn -Link: https://lore.kernel.org/r/20250117125522.99071-1-lukas.bulwahn@redhat.com -Signed-off-by: Will Deacon -Signed-off-by: Greg Kroah-Hartman ---- - arch/arm64/Kconfig | 1 - - 1 file changed, 1 deletion(-) - ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -221,7 +221,6 @@ config ARM64 - select HAVE_FUNCTION_ERROR_INJECTION - select HAVE_FUNCTION_GRAPH_FREGS - select HAVE_FUNCTION_GRAPH_TRACER -- select HAVE_FUNCTION_GRAPH_RETVAL - select HAVE_GCC_PLUGINS - select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && \ - HW_PERF_EVENTS && HAVE_PERF_EVENTS_NMI diff --git a/queue-6.13/fprobe-always-unregister-fgraph-function-from-ops.patch b/queue-6.13/fprobe-always-unregister-fgraph-function-from-ops.patch deleted file mode 100644 index 9ee2473780..0000000000 --- a/queue-6.13/fprobe-always-unregister-fgraph-function-from-ops.patch +++ /dev/null @@ -1,76 +0,0 @@ -From ded9140622358a154efb3a777025fa7f7ae2c2d9 Mon Sep 17 00:00:00 2001 -From: Steven Rostedt -Date: Thu, 20 Feb 2025 15:20:12 -0500 -Subject: fprobe: Always unregister fgraph function from ops - -From: Steven Rostedt - -commit ded9140622358a154efb3a777025fa7f7ae2c2d9 upstream. - -When the last fprobe is removed, it calls unregister_ftrace_graph() to -remove the graph_ops from function graph. The issue is when it does so, it -calls return before removing the function from its graph ops via -ftrace_set_filter_ips(). This leaves the last function lingering in the -fprobe's fgraph ops and if a probe is added it also enables that last -function (even though the callback will just drop it, it does add unneeded -overhead to make that call). - - # echo "f:myevent1 kernel_clone" >> /sys/kernel/tracing/dynamic_events - # cat /sys/kernel/tracing/enabled_functions -kernel_clone (1) tramp: 0xffffffffc02f3000 (ftrace_graph_func+0x0/0x60) ->ftrace_graph_func+0x0/0x60 - - # echo "f:myevent2 schedule_timeout" >> /sys/kernel/tracing/dynamic_events - # cat /sys/kernel/tracing/enabled_functions -kernel_clone (1) tramp: 0xffffffffc02f3000 (ftrace_graph_func+0x0/0x60) ->ftrace_graph_func+0x0/0x60 -schedule_timeout (1) tramp: 0xffffffffc02f3000 (ftrace_graph_func+0x0/0x60) ->ftrace_graph_func+0x0/0x60 - - # > /sys/kernel/tracing/dynamic_events - # cat /sys/kernel/tracing/enabled_functions - - # echo "f:myevent3 kmem_cache_free" >> /sys/kernel/tracing/dynamic_events - # cat /sys/kernel/tracing/enabled_functions -kmem_cache_free (1) tramp: 0xffffffffc0219000 (ftrace_graph_func+0x0/0x60) ->ftrace_graph_func+0x0/0x60 -schedule_timeout (1) tramp: 0xffffffffc0219000 (ftrace_graph_func+0x0/0x60) ->ftrace_graph_func+0x0/0x60 - -The above enabled a fprobe on kernel_clone, and then on schedule_timeout. -The content of the enabled_functions shows the functions that have a -callback attached to them. The fprobe attached to those functions -properly. Then the fprobes were cleared, and enabled_functions was empty -after that. But after adding a fprobe on kmem_cache_free, the -enabled_functions shows that the schedule_timeout was attached again. This -is because it was still left in the fprobe ops that is used to tell -function graph what functions it wants callbacks from. - -Cc: stable@vger.kernel.org -Cc: Mark Rutland -Cc: Mathieu Desnoyers -Cc: Andrew Morton -Cc: Sven Schnelle -Cc: Vasily Gorbik -Cc: Alexander Gordeev -Link: https://lore.kernel.org/20250220202055.393254452@goodmis.org -Fixes: 4346ba1604093 ("fprobe: Rewrite fprobe on function-graph tracer") -Tested-by: Heiko Carstens -Acked-by: Masami Hiramatsu (Google) -Signed-off-by: Steven Rostedt (Google) -Signed-off-by: Greg Kroah-Hartman ---- - kernel/trace/fprobe.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - ---- a/kernel/trace/fprobe.c -+++ b/kernel/trace/fprobe.c -@@ -374,11 +374,9 @@ static void fprobe_graph_remove_ips(unsi - lockdep_assert_held(&fprobe_mutex); - - fprobe_graph_active--; -- if (!fprobe_graph_active) { -- /* Q: should we unregister it ? */ -+ /* Q: should we unregister it ? */ -+ if (!fprobe_graph_active) - unregister_ftrace_graph(&fprobe_graph_ops); -- return; -- } - - ftrace_set_filter_ips(&fprobe_graph_ops.ops, addrs, num, 1, 0); - } diff --git a/queue-6.13/fprobe-fix-accounting-of-when-to-unregister-from-function-graph.patch b/queue-6.13/fprobe-fix-accounting-of-when-to-unregister-from-function-graph.patch deleted file mode 100644 index 67b042ae76..0000000000 --- a/queue-6.13/fprobe-fix-accounting-of-when-to-unregister-from-function-graph.patch +++ /dev/null @@ -1,93 +0,0 @@ -From ca26554a1498bc905c4a39fb42d55d93f3ae8df2 Mon Sep 17 00:00:00 2001 -From: Steven Rostedt -Date: Thu, 20 Feb 2025 15:20:13 -0500 -Subject: fprobe: Fix accounting of when to unregister from function graph - -From: Steven Rostedt - -commit ca26554a1498bc905c4a39fb42d55d93f3ae8df2 upstream. - -When adding a new fprobe, it will update the function hash to the -functions the fprobe is attached to and register with function graph to -have it call the registered functions. The fprobe_graph_active variable -keeps track of the number of fprobes that are using function graph. - -If two fprobes attach to the same function, it increments the -fprobe_graph_active for each of them. But when they are removed, the first -fprobe to be removed will see that the function it is attached to is also -used by another fprobe and it will not remove that function from -function_graph. The logic will skip decrementing the fprobe_graph_active -variable. - -This causes the fprobe_graph_active variable to not go to zero when all -fprobes are removed, and in doing so it does not unregister from -function graph. As the fgraph ops hash will now be empty, and an empty -filter hash means all functions are enabled, this triggers function graph -to add a callback to the fprobe infrastructure for every function! - - # echo "f:myevent1 kernel_clone" >> /sys/kernel/tracing/dynamic_events - # echo "f:myevent2 kernel_clone%return" >> /sys/kernel/tracing/dynamic_events - # cat /sys/kernel/tracing/enabled_functions -kernel_clone (1) tramp: 0xffffffffc0024000 (ftrace_graph_func+0x0/0x60) ->ftrace_graph_func+0x0/0x60 - - # > /sys/kernel/tracing/dynamic_events - # cat /sys/kernel/tracing/enabled_functions -trace_initcall_start_cb (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -run_init_process (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -try_to_run_init_process (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -x86_pmu_show_pmu_cap (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -cleanup_rapl_pmus (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -uncore_free_pcibus_map (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -uncore_types_exit (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -uncore_pci_exit.part.0 (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -kvm_shutdown (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -vmx_dump_msrs (1) tramp: 0xffffffffc0026000 (function_trace_call+0x0/0x170) ->function_trace_call+0x0/0x170 -[..] - - # cat /sys/kernel/tracing/enabled_functions | wc -l -54702 - -If a fprobe is being removed and all its functions are also traced by -other fprobes, still decrement the fprobe_graph_active counter. - -Cc: stable@vger.kernel.org -Cc: Mark Rutland -Cc: Mathieu Desnoyers -Cc: Andrew Morton -Cc: Sven Schnelle -Cc: Vasily Gorbik -Cc: Alexander Gordeev -Link: https://lore.kernel.org/20250220202055.565129766@goodmis.org -Fixes: 4346ba1604093 ("fprobe: Rewrite fprobe on function-graph tracer") -Closes: https://lore.kernel.org/all/20250217114918.10397-A-hca@linux.ibm.com/ -Reported-by: Heiko Carstens -Tested-by: Heiko Carstens -Acked-by: Masami Hiramatsu (Google) -Signed-off-by: Steven Rostedt (Google) -Signed-off-by: Greg Kroah-Hartman ---- - kernel/trace/fprobe.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/kernel/trace/fprobe.c -+++ b/kernel/trace/fprobe.c -@@ -378,7 +378,8 @@ static void fprobe_graph_remove_ips(unsi - if (!fprobe_graph_active) - unregister_ftrace_graph(&fprobe_graph_ops); - -- ftrace_set_filter_ips(&fprobe_graph_ops.ops, addrs, num, 1, 0); -+ if (num) -+ ftrace_set_filter_ips(&fprobe_graph_ops.ops, addrs, num, 1, 0); - } - - static int symbols_cmp(const void *a, const void *b) -@@ -648,8 +649,7 @@ int unregister_fprobe(struct fprobe *fp) - } - del_fprobe_hash(fp); - -- if (count) -- fprobe_graph_remove_ips(addrs, count); -+ fprobe_graph_remove_ips(addrs, count); - - kfree_rcu(hlist_array, rcu); - fp->hlist_array = NULL; diff --git a/queue-6.13/series b/queue-6.13/series index 47b48d517b..9494205e43 100644 --- a/queue-6.13/series +++ b/queue-6.13/series @@ -193,8 +193,5 @@ iio-hid-sensor-prox-split-difference-from-multiple-c.patch dt-bindings-iio-dac-adi-axi-adc-fix-ad7606-pwm-names.patch iio-adc-ad7606-fix-wrong-scale-available.patch kbuild-hdrcheck-fix-cross-build-with-clang.patch -arm64-kconfig-remove-selecting-replaced-have_function_graph_retval.patch -fprobe-always-unregister-fgraph-function-from-ops.patch -fprobe-fix-accounting-of-when-to-unregister-from-function-graph.patch alsa-hda-realtek-fix-incorrect-is_reachable-usage.patch nvme-tcp-fix-a-c2htermreq-error-message.patch