From 08f280abc98c2914d7fbb315df44ad9a49647b6a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 11 Apr 2023 13:31:14 +0200 Subject: [PATCH] 4.19-stable patches added patches: ftrace-mark-get_lock_parent_ip-__always_inline.patch --- ...k-get_lock_parent_ip-__always_inline.patch | 37 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 38 insertions(+) create mode 100644 queue-4.19/ftrace-mark-get_lock_parent_ip-__always_inline.patch diff --git a/queue-4.19/ftrace-mark-get_lock_parent_ip-__always_inline.patch b/queue-4.19/ftrace-mark-get_lock_parent_ip-__always_inline.patch new file mode 100644 index 00000000000..731668e6492 --- /dev/null +++ b/queue-4.19/ftrace-mark-get_lock_parent_ip-__always_inline.patch @@ -0,0 +1,37 @@ +From ea65b41807a26495ff2a73dd8b1bab2751940887 Mon Sep 17 00:00:00 2001 +From: John Keeping +Date: Mon, 27 Mar 2023 18:36:46 +0100 +Subject: ftrace: Mark get_lock_parent_ip() __always_inline + +From: John Keeping + +commit ea65b41807a26495ff2a73dd8b1bab2751940887 upstream. + +If the compiler decides not to inline this function then preemption +tracing will always show an IP inside the preemption disabling path and +never the function actually calling preempt_{enable,disable}. + +Link: https://lore.kernel.org/linux-trace-kernel/20230327173647.1690849-1-john@metanate.com + +Cc: Masami Hiramatsu +Cc: Mark Rutland +Cc: stable@vger.kernel.org +Fixes: f904f58263e1d ("sched/debug: Fix preempt_disable_ip recording for preempt_disable()") +Signed-off-by: John Keeping +Signed-off-by: Steven Rostedt (Google) +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/ftrace.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/linux/ftrace.h ++++ b/include/linux/ftrace.h +@@ -689,7 +689,7 @@ static inline void __ftrace_enabled_rest + #define CALLER_ADDR5 ((unsigned long)ftrace_return_address(5)) + #define CALLER_ADDR6 ((unsigned long)ftrace_return_address(6)) + +-static inline unsigned long get_lock_parent_ip(void) ++static __always_inline unsigned long get_lock_parent_ip(void) + { + unsigned long addr = CALLER_ADDR0; + diff --git a/queue-4.19/series b/queue-4.19/series index cb5a4aae312..83df63012bb 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -22,3 +22,4 @@ nilfs2-fix-potential-uaf-of-struct-nilfs_sc_info-in-nilfs_segctor_thread.patch nilfs2-fix-sysfs-interface-lifetime.patch alsa-hda-realtek-add-quirk-for-clevo-x370snw.patch perf-core-fix-the-same-task-check-in-perf_event_set_.patch +ftrace-mark-get_lock_parent_ip-__always_inline.patch -- 2.47.2