acrn-kernel/samples
Mark Rutland e5ae9b5a65 ftrace: Export ftrace_free_filter() to modules
commit 8be9fbd534 upstream.

Setting filters on an ftrace ops results in some memory being allocated
for the filter hashes, which must be freed before the ops can be freed.
This can be done by removing every individual element of the hash by
calling ftrace_set_filter_ip() or ftrace_set_filter_ips() with `remove`
set, but this is somewhat error prone as it's easy to forget to remove
an element.

Make it easier to clean this up by exporting ftrace_free_filter(), which
can be used to clean up all of the filter hashes after an ftrace_ops has
been unregistered.

Using this, fix the ftrace-direct* samples to free hashes prior to being
unloaded. All other code either removes individual filters explicitly or
is built-in and already calls ftrace_free_filter().

Link: https://lkml.kernel.org/r/20230103124912.2948963-3-mark.rutland@arm.com

Cc: stable@vger.kernel.org
Cc: Florent Revest <revest@chromium.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: e1067a07cf ("ftrace/samples: Add module to test multi direct modify interface")
Fixes: 5fae941b9a ("ftrace/samples: Add multi direct interface test module")
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-01 08:34:37 +01:00
..
acrn
auxdisplay
binderfs
bpf samples/bpf: Fix MAC address swapping in xdp2_kern 2022-12-31 13:32:03 +01:00
configfs
connector
coresight
fanotify
fprobe
ftrace ftrace: Export ftrace_free_filter() to modules 2023-02-01 08:34:37 +01:00
hidraw
hw_breakpoint
kdb
kfifo
kmemleak
kobject
kprobes
landlock samples/landlock: Print hints about ABI versions 2022-09-29 18:43:01 +02:00
livepatch
mei
nitro_enclaves
pidfd
pktgen
qmi soc: qcom: qmi: use const for struct qmi_elem_info 2022-08-29 17:33:01 -05:00
rpmsg
rust samples: add first Rust examples 2022-09-28 09:03:08 +02:00
seccomp
timers
trace_events tracing: Add example and documentation for new __vstring() macro 2022-07-24 19:11:17 -04:00
trace_printk
uhid
user_events tracing/user_events: Use bits vs bytes for enabled status page data 2022-09-29 10:17:37 -04:00
v4l
vfio-mdev samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe() 2022-12-31 13:32:42 +01:00
vfs
watch_queue
watchdog
Kconfig samples: add first Rust examples 2022-09-28 09:03:08 +02:00
Makefile samples: add first Rust examples 2022-09-28 09:03:08 +02:00