From 3565071f226432336a54d0193d729fa4508a3394 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:28:00 +0200 Subject: Adding debian version 6.6.15-2. Signed-off-by: Daniel Baumann --- ...-preempt_enable-within-an-instrumentation.patch | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 debian/patches-rt/preempt-Put-preempt_enable-within-an-instrumentation.patch (limited to 'debian/patches-rt/preempt-Put-preempt_enable-within-an-instrumentation.patch') diff --git a/debian/patches-rt/preempt-Put-preempt_enable-within-an-instrumentation.patch b/debian/patches-rt/preempt-Put-preempt_enable-within-an-instrumentation.patch new file mode 100644 index 0000000000..beddd4726f --- /dev/null +++ b/debian/patches-rt/preempt-Put-preempt_enable-within-an-instrumentation.patch @@ -0,0 +1,47 @@ +From: Sebastian Andrzej Siewior +Date: Wed, 8 Mar 2023 16:29:38 +0100 +Subject: [PATCH] preempt: Put preempt_enable() within an instrumentation*() + section. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patches-6.6.7-rt18.tar.xz + +Callers of preempt_enable() can be within an noinstr section leading to: +| vmlinux.o: warning: objtool: native_sched_clock+0x97: call to preempt_schedule_notrace_thunk() leaves .noinstr.text section +| vmlinux.o: warning: objtool: kvm_clock_read+0x22: call to preempt_schedule_notrace_thunk() leaves .noinstr.text section +| vmlinux.o: warning: objtool: local_clock+0xb4: call to preempt_schedule_notrace_thunk() leaves .noinstr.text section +| vmlinux.o: warning: objtool: enter_from_user_mode+0xea: call to preempt_schedule_thunk() leaves .noinstr.text section +| vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x140: call to preempt_schedule_thunk() leaves .noinstr.text section +| vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0xf2: call to preempt_schedule_thunk() leaves .noinstr.text section +| vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0xea: call to preempt_schedule_thunk() leaves .noinstr.text section + +Signed-off-by: Sebastian Andrzej Siewior +Link: https://lore.kernel.org/r/20230309072724.3F6zRkvw@linutronix.de +--- + include/linux/preempt.h | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/include/linux/preempt.h ++++ b/include/linux/preempt.h +@@ -230,15 +230,21 @@ do { \ + #define preempt_enable() \ + do { \ + barrier(); \ +- if (unlikely(preempt_count_dec_and_test())) \ ++ if (unlikely(preempt_count_dec_and_test())) { \ ++ instrumentation_begin(); \ + __preempt_schedule(); \ ++ instrumentation_end(); \ ++ } \ + } while (0) + + #define preempt_enable_notrace() \ + do { \ + barrier(); \ +- if (unlikely(__preempt_count_dec_and_test())) \ ++ if (unlikely(__preempt_count_dec_and_test())) { \ ++ instrumentation_begin(); \ + __preempt_schedule_notrace(); \ ++ instrumentation_end(); \ ++ } \ + } while (0) + + #define preempt_check_resched() \ -- cgit v1.2.3